PSSH提供OpenSSH和相關工具的並行版本。包括pssh,pscp,prsync,pnuke和pslurp。該項目包括psshlib,可以在自定義應用程序中使用.PPS 2.4和更高版本(包括Python 3.1和更高版本)支持PSSH。
在ubuntu上安裝pssh
打開終端並運行以下命令
sudo apt-get install python-pip
sudo pip install pssh
使用PSSH
PSSH語法
pssh [-vAiIP] [-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par] [-o outdir] [-e errdir] [-t timeout] [-O options] [-x args] [-X arg] command
PSSH示例
連接到host1和host2,並從每個打印“hello,world”
pssh -i -H“host1 host2”echo“hello,world”
從文件hosts.txt中指定的每個主機打印“hello,world”
pssh -i -h hosts.txt echo“hello,world”
以root用戶身份運行命令,並提示輸入root密碼
pssh -i -h hosts.txt -A -l root echo hi
在沒有超時的情況下運行長命令
pssh -i -h hosts.txt -t 0 sleep 10000
如果文件hosts.txt包含大量條目,例如100,那麼parallelism選項也可以設置為100以確保命令同時運行
pssh -i -h hosts.txt -p 100 -t 0 sleep 10000
在不檢查或保存主機密鑰的情況下運行命令
pssh -i -H host1 -H host2 -x“-O StrictHostKeyChecking = no -O UserKnownHostsFile = / dev / null -O GlobalKnownHostsFile = / dev / null”echo hi
打印每個連接的節點號(這將打印0,1和2)
pssh -i -H host1 -H host1 -H host2'echo $ PSSH_NODENUM'
上面的例子來自PSSH手冊
注意
如果您經常使用特定選項連接到一組主機,則創建別名可能會有所幫助,例如:
別名pssh_servers =“pssh -h /path/to/server_list.txt -l root -A”
ssh_config文件可以包含任意數量的主機部分。每個主機條目指定僅適用於給定主機的ssh選項。如果包含HostName選項,則主機定義甚至可以像別名一樣運行。此ssh功能與pssh主機文件結合使用,可提供極大的靈活性。