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主机文件结合使用,可提供极大的灵活性。