SSH를 통해 여러 서버에 유사한 명령을 자동으로 실행하는 방법은 무엇입니까? [복사]

SSH를 통해 여러 서버에 유사한 명령을 자동으로 실행하는 방법은 무엇입니까? [복사]

비밀번호를 사용하여 SSH를 통해 연결할 수 있는 서버가 x개 있습니다. 1개만 연결하면 되면 root@IP 주소로 SSH를 통해 연결합니다. 그런 다음 비밀번호를 묻는 메시지가 표시되고 인증이 완료되면 그곳에서 명령을 실행할 수 있습니다.

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

답변1

다음과 같은 구성 도구가 필요한 것 같습니다.안시푸르,소금 더미,요리사또는인형.

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

그러나 그 외에도 유용한 명령으로 구성된 플레이북을 만들기 시작하면 나중에 호스트에서 해당 명령을 다시 실행하고 인프라 관리를 자동화할 수 있습니다.

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

답변2

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

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

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

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

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

바라보다이 답변

답변3

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

관련 정보