[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
输入:
保存退出。
完成传送秘钥和创建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 进程名
命令 文件列表
发表评论