PSSH - 並行SSH工具

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主機文件結合使用,可提供極大的靈活性。


分享到:


相關文章: