批量执行bash命令工具PSSH&免密登陆配置

需求:需要用一台管理机批量对运维的集群操作,配置免密登陆后可以写脚本实现,有开源的工具PSSH省了写脚本。
工具下载地址:
如:wget https://pypi.python.org/packages/source/p/pssh/pssh-2.3.1.tar.gz #可以去主站找最新的版本
一、安装工具:

wget https://pypi.python.org/packages/source/p/pssh/pssh-2.3.1.tar.gz   
tar -xf pssh-2.3.1.tar.gz 
cd pssh-2.3.1/
python setup.py build 
python setup.py install
pssh --version
pssh --help

PSSH批量登陆操作前提条件是先配置免密登陆,通过ssh命令配置免登陆

二、 免密登陆配置
免密登陆原理:B免密登陆A,需要把B的公钥先copy到A服务器。主要用于身份验证,判断登陆者身份的真实性。使用私钥加密之后,用对应的公钥解密从而验证身份真实性。
A要验证B是否是真实用户流程
1、B将自己公钥给A(b发起ssh登陆请求,a 收到后给B发送一串chanllenge字符)
2、B将chanllenge字符用自己私钥加密传送给A
3、A根据B的公钥解密,如果成功则为真实身份用户
配置方法:

#B机器:
cd ~/.ssh # mac: cd .ssh 
ssh-copy-id -i ./id_rsa.pub [email protected]   #A机器的地址,需要输入A机器的密码
ssh [email protected]       #不要输入密码就可以登陆了。、

操作完成后可以在A机器上找到B的公钥,可以与B机器上对比下是否一样
cat ~/.ssh/authorized_keys

三、执行pssh命令

pssh -P -h ip.txt "ifconfig"       #-P 打印在远程服务器执行结果,-h指定远程服务器的ip list

root@hkali:~# cat ip.txt 
116.x.x.x      #格式可以
[email protected]:22   #格式可以

执行结果

猜你喜欢

转载自blog.csdn.net/u013908944/article/details/110289712