[PSSH]利用pssh工具,批量同时远程主机。

利用PSSH软件我们利用一台主机同时的大批量的远程操作其他主机。

pssh软件的连接原理中仍需要调用ssh软件,所以也支持调用ssh命令但需要使用参数 "-x" ,并在此参数后添加。

pssh其实就是一个python脚本。


下载软件包:http://dl.teddyou.cn/download/pssh-2.3.1-5.el7.noarch.rpm 

 

yum -y install pssh-2.3.1-5.el7.noarch.rpm       //安装pssh


此命令的选项及其作用:

-A            //使用密码远程其他主机(默认为秘钥)

-i              //将输出结果显示在屏幕上

-H            //设置需要连接的主机

-h             //设置主机文件列表,可创建IP文件列表,每一行为一个IP

-p             //设置并发数量

-t              //设置超时时间

-o 目录     //输出结果重定向保存到指定目录,目录下每对应一个主机会生成一个文件。

-e 目录      //设置错误信息输出保存的目录

-x              //传递参数给ssh,例如,结合使用 "-p12" ,指定远程连接端口号为12。


连接测试:

pssh -i      -A          -H  'root@IP  root@IP'        -x '-o StrictHostKeyChecking=no'     echo hello

            使用密码            选择远程主机                     调用ssh参数跳过首次连接提示            执行命令


首次连接过后,“-x '-o StrictHostKeyChecking=no'”下次使用可不添加此参数。


生成并传送秘钥,创建IP列表,使用命令快速连接。

ssh-keygen           //生成秘钥,会有一些提示,直接回车。

发送秘钥:

ssh-copy-id  192.168.1.1

ssh-copy-id  192.168.1.2

ssh-copy-id  192.168.1.3

或直接使用脚本发送:(直接在终端中输入)

for i in 1 2 3

do

ssh-copy-id 192.168.1.$i

done

发送秘钥过程中会提示输入密码。


创建主机IP列表:

vim host.txt

输入:

[email protected]

[email protected]

[email protected]

保存退出。


完成传送秘钥和创建IP列表文件之后就可以快速无密码的远程批量控制其他主机了。

例如使用如下命令:

pssh -i -h host.txt echo Hello World!

显示内容:

[1] 17:12:29 [SUCCESS] [email protected]

Hello World!

[2] 17:12:29 [SUCCESS] [email protected]

Hello World!

[3] 17:12:29 [SUCCESS] [email protected]

Hello World!


使用pssh批量发送或拷贝文件:

从本地拷贝到远程:

pscp.pssh     -h host.txt    (-r 拷贝目录添加递归参数)    本地路径或文件        远程的路径/

    命令            主机列表

从远程拷贝到本机:

pslurp      -h host.txt        /etc/passwd                                          /

  命令         主机列表            远程文件         这里的根不是本地的根,这里的根是指当前路径下

远程拷贝到本地想指定路径需要添加参数 “-L  /路径” ,这里的路径才是本地路径!


使用pssh批量杀死进程:

pnuke   -h host.txt       进程名

 命令       文件列表

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。