Pssh를 사용하여 Linux에서 여러 SSH 연결을 사용하는 방법
원격 서버 관리를 위한 필수 도구, Secure Shell(SSH)
Secure Shell(SSH)은 리눅스 사용자에게 매우 중요한 자원입니다. SSH를 통해 원격 리눅스 서버, 컴퓨터 및 네트워크 장치에서 작업을 수행할 수 있습니다. 이 프로토콜은 빠르고 보안을 지향하며, 사용자가 원격 컴퓨터 및 서버에 명령을 전송하거나 인터넷을 통해 프로그램을 실행하는 등 다양한 작업을 수행할 수 있도록 합니다.
SSH는 매우 유용하지만, 한 번에 하나의 시스템과만 상호 작용할 수 있다는 단점이 있습니다. 이러한 제약은 가끔 SSH를 사용하는 일반 사용자에게는 큰 문제가 되지 않지만, 여러 리눅스 시스템에 매일 접속해야 하는 경우에는 생산성 저하를 초래할 수 있습니다.
이러한 SSH의 한계를 인지한 리눅스 커뮤니티에서는 여러 원격 시스템에 동시에 명령을 전송할 수 있는 방법을 고안해 왔습니다. 그중 하나가 바로 병렬 SSH(Parallel SSH)입니다. 이 도구를 사용하면 사용자가 SSH를 통해 여러 원격 시스템과 동시에 상호 작용할 수 있습니다.
SSH 설정
병렬 SSH 도구는 리눅스에서 OpenSSH를 기반으로 작동하므로, 이 가이드를 따르기 전에 시스템에 OpenSSH를 설정해야 합니다. 다행히 SSH 서버 설정은 매우 간단합니다.
SSH 설정에 대한 자세한 내용은 사용 중인 리눅스 배포판의 공식 문서를 참조하십시오. 만약 설정에 어려움이 있다면, 리눅스에서 SSH 설정 방법에 대한 자세한 가이드를 참고하는 것이 좋습니다.
리눅스에 Pssh 설치
병렬 SSH 도구 중 하나인 Pssh를 사용하기 전에, 먼저 설치 방법을 알아보겠습니다. Pssh를 사용하려면 터미널 창을 열고 아래 지침에 따라 설치해야 합니다.
우분투
sudo apt install pssh
데비안
sudo apt-get install pssh
아치 리눅스

Pssh는 Arch Linux의 공식 저장소에는 없지만, AUR 패키지를 통해 쉽게 설치할 수 있습니다. Arch Linux에서 Pssh를 설치하려면 다음 명령을 실행하십시오.
sudo pacman -S base-devel git git clone https://aur.archlinux.org/python-pssh.git cd python-pssh makepkg -sri
페도라
sudo dnf install pssh -y
오픈수세
sudo zypper install pssh
파이썬 PIP
모든 리눅스 배포판이 Pssh를 제공하는 것은 아닙니다. 만약 사용 중인 배포판에서 Pssh를 찾을 수 없다면, 다른 방법을 통해 설치해야 합니다.
가장 흔하게 사용되는 방법 중 하나는 Python 패키지 설치 도구인 pip를 사용하는 것입니다.
참고: pip를 사용하여 Pssh를 설치하기 전에 python-pip 또는 pip가 시스템에 설치되어 있는지 확인하십시오.
sudo python-pip install pssh
또는
sudo pip install pssh
만약 pip를 사용한 설치가 실패한다면, Pssh 소스 코드를 직접 다운로드하여 설치하는 것을 고려해 보십시오.
Pssh 설정
Pssh를 사용하려면 먼저 호스트 파일을 설정해야 합니다. 이 파일은 Pssh로 관리할 원격 컴퓨터들의 주소를 포함합니다. 터미널을 열고 다음 명령을 사용하여 새 호스트 파일을 만드십시오.
touch ~/.pssh_hosts_files
이제 Nano와 같은 텍스트 편집기를 사용하여 호스트 파일을 편집해야 합니다. 이 파일에 Pssh로 상호 작용할 모든 원격 리눅스 시스템의 주소를 입력합니다. 최상의 결과를 위해 호스트 이름 대신 로컬 또는 인터넷 IP 주소를 사용하는 것이 좋습니다.
호스트 파일을 설정할 때, 각 주소와 함께 사용자 이름을 추가해야 합니다. 형식은 [email protected]와 같아야 합니다.
nano ~/.pssh_hosts_files
호스트 파일 작성이 완료되면, Ctrl + O를 눌러 변경 사항을 저장하고 Ctrl + X를 눌러 Nano 편집기를 종료합니다.
Pssh로 명령 전송하기

Pssh는 SSH를 래핑하여 여러 시스템과 동시에 상호 작용할 수 있도록 도와주는 도구입니다. 복잡한 구문은 필요하지 않으며, 리눅스 터미널 작동 방식을 알고 있다면 쉽게 이해할 수 있습니다.
Pssh를 사용하여 원격 컴퓨터 목록에 한 번에 명령을 보내려면 다음 명령을 사용하십시오.
pssh -i -h ~/.pssh_hosts_files terminal command
아직 Pssh 사용법이 어렵다면, 아래 예시 명령들을 사용해보십시오.
실행 중인 프로세스
여러 리눅스 시스템에서 실행 중인 프로세스를 동시에 확인하고 싶으신가요? Pssh를 사용하여 top 명령을 실행해 보세요.
pssh -i -h ~/.pssh_hosts_files top
컴퓨터 가동 시간
각 리눅스 컴퓨터가 얼마나 오랫동안 실행되었는지 알고 싶으신가요? Pssh와 함께 uptime 명령을 사용하십시오.
pssh -i -h ~/.pssh_hosts_files uptime
하드 드라이브 공간
Pssh와 df 명령을 함께 사용하면 원격 리눅스 시스템의 하드 드라이브 공간을 동시에 확인할 수 있습니다.
pssh -i -h ~/.pssh_hosts_files df -h
시스템 사양
호스트 목록에 있는 모든 원격 리눅스 컴퓨터의 시스템 사양을 확인하려면 inxi 명령을 실행하세요.
pssh -i -h ~/.pssh_hosts_files inxi -F