Linux

Parallel SSH

chbae 2023. 4. 19. 02:40
728x90

Parallel SSH를 이용해 여러 시스템에 ssh 명령을 전달한거나, Parallel SCP, SLURP를 이용해 파일을 주고 받을 수 있다. 잘못하면 전체 시스템을 모두 망가트릴 수 있으니, 가급적이면 시스템 상태를 파악하는 용도로 사용하면 좋을 듯 하다.

 

전체 시스템을 관리하는 퍼펫(puppet)이라는 도구를 사용하여 시스템을 제어하는 것도 좋을 것 같다.

 

Ubuntu에 pssh를 설치한다.

$ sudo pat-get install pssh

 

parallel-ssh 명령어로 uptime이라는 명령어를 여러 시스템에 보낸다. -l 옵션에 사용자 이름을 안주고 IP 앞에 "사용자이름@IP" 를 넣어도 된다.

$ parallel-ssh -H "192.168.1.0 192.168.2.0" -l user -i uptime

 

관리하고자하는 IP 목록 특정 파일에 넣고 사용하는 옵션은 -h이다.

$ parallel-ssh -h server.list -l user -i uptime

 

-i 옵션 대신 -o 옵션을 주면 결과가 특정 디렉토리의 node ip 파일로 저장된다.

$ parallel-ssh -h server.list -l user -o result uptime

 

파일 전송은 parallel-scp를 사용하고, 파일을 받아오는 것은 parallel-slurp 명령어를 사용한다.

$ parallel-scp -h server.list -l user test.c /tmp/  
$ parallel-slurp -h server.list -l user -L directory /tmp/test.c .

 

참고로, 퍼펫(Puppet)은 한국어 책으로도 번역본이 나와 있다. 필자도 조만간 구매해서 볼 예정이다.