SSH를 통해 여러 서버에 유사한 명령을 자동화하는 방법은 무엇입니까?

SSH를 통해 여러 서버에 유사한 명령을 자동화하는 방법은 무엇입니까?

비밀번호를 통해 SSH를 통해 연결할 수 있는 서버가 x개 있습니다. 1개만 연결해야 한다면 ssh root@IPaddress로 접속하겠습니다. 그런 다음 내 비밀번호를 묻고, 인증되면 그곳에서 명령을 실행할 수 있습니다.

x개의 서버가 모두 동일하고 모든 서버에서 동일한 명령을 실행하려면 어떻게 해야 합니까? 한두 개의 명령으로 이 작업을 어떻게 수행할 수 있습니까?

답변1

다음과 같은 프로비저닝 도구가 필요한 것 같습니다.앤서블,소금 더미,요리사또는인형.

Ansible은 원하는 것과 매우 유사한 방식으로 작동합니다. 로컬에서 실행하고 원격 서버로 SSH를 통해 명령을 실행합니다(위에 나열된 다른 제품처럼 원격 서버에 에이전트를 설치할 필요가 없습니다). 예를 들어 서버 목록이 주어지면 모든 서버에서 주어진 명령을 실행하기 위해 /etc/ansible/hosts실행할 수 있습니다 . ansible all -a "/bin/echo hello"전체 가이드여기.

그러나 이 외에도 나중에 호스트에서 명령을 다시 실행하고 인프라 관리 자동화를 위해 작업할 수 있는 유용한 명령의 플레이북 작성을 시작할 수 있습니다.

또는 다음과 같은 명령을 사용할 수 있습니다.pssh일괄 명령을 병렬로 실행하거나동기화 창여러 호스트에서 대화형으로 명령을 실행하는 tmux의 기능입니다.

답변2

  1. 여러 호스트에서 동일한 명령 실행

x개의 서버가 모두 동일하고 모든 서버에서 동일한 >명령을 실행하고 싶다면 어떻게 해야 합니까? 한두 개의 명령으로 이 작업을 어떻게 수행할 수 있습니까?

호스트 이름을 매개변수로 가져오고 매개변수의 호스트 이름에 대해 동일한 명령을 실행하는 스크립트를 실행할 수 있습니다.

  1. SSH를 통해 여러 서버에 연결

SSH 키 쌍을 사용하는 것이 좋습니다. SSH 통신에는 비밀번호가 필요하지 않습니다.

보다이 답변

답변3

당신이 사용할 수있는MobaXtremSSH 클라이언트에는 열려 있는 모든 터미널에 동일한 명령을 실행할 수 있는 MultiExec 기능이 있습니다.

관련 정보