pssh是一个简单的字符界面并发向多个服务器发送指令进行执行的工具。适合一次性向集群大量服务器发送相同指令(并观察输出)。
早期版本 pssh是由 http://www.theether.org/pssh/ Brent Chun开发,从2009年10月开始,转到 http://code.google.com/p/parallel-ssh/ 由Andrew McNabb负责维护和开发。

另外一种更为方便(不过需要X window系统和xterm等依赖)的方式是采用 ClusterSSH ,请参考 并行执行ssh管理多个服务器-clusterssh 一文。


安装pssh 2.1.1
从 http://code.google.com/p/parallel-ssh/ 下载 pssh-2.1.1.tar.gz

1
2
3
tar xfz pssh-2.1.1.tar.gz
cd
pssh-2.1.1
安装前需要先安装setuptools(我的gentoo平台已经安装),如果没有安装,则使用以下命令安装

1
2
wget 'http://peak.telecommunity.com/dist/ez_setup.py'
sudo python ez_setup.py
安装pssh

1
sudo python setup.py install
使用pssh 配置主机列表:
pssh将主机IP地址列表存放在不同的文件 中,然后通过-h参数引用。每个主机IP列表中,IP地址一行一行列出。例如配置文件~/pssh/ws

10.1.1.101 10.1.1.102 10.1.1.103 使用以下命令来对服务器进行操作
1
pssh -h ~/pssh/ws -l login_name -o ~/temp/ws "sudo /full_path_to_command/command"
 

遇到的问题及解决方案

1、遇到Exited with code 255的错误,一般可能是需要密码,使用-A选项将会提示输入密码。当然为了方便,还是将集群中电脑设置成无密码访问。