linux 批量建立信任关系

  1. 1.首先,需要检查expect是否安装:rpm -qa|grep expect 2.然后,在操作机上创建公钥:ssh-keygen 一路回车即可 3.创建好之后到/home/barfoo/.ssh/下就可以看到id开头的2个文件,其中id_rsa.pub就是公钥文件, 4.需要做的就是将这个文件传送给其他机器:ssh-copy-id -i /home/barfoo/.ssh/id_rsa.pub barfoo@ip 5.最后ssh root@ip就实现无密码登录了 6.以下是脚本,根据自己实际情况做修
#2017-05-18
#批量ssh认证建立  

for p in $(cat /home/barfoo/ip.txt)  #注意ip.txt文件的绝对路径 do ip=$(echo "$p"|cut -f1 -d":") #取ip.txt文件中的ip地址 password=$(echo "$p"|cut -f2 -d":") #取ip.txt文件中的密码 #expect自动交互开始 expect -c " spawn ssh-copy-id -i /home/barfoo/.ssh/id_rsa.pub barfoo@$ip expect { \"*yes/no*\" {send \"yes\r\"; exp_continue} \"*password*\" {send \"$password\r\"; exp_continue} \"*Password*\" {send \"$password\r\";} } " done 

1. ip.txt文件里面ip和密码写法

172.16.4.27:barfoo1 
172.16.4.28:barfoo2

1. 也可以这么写

for i in `seq 101 150`
do
/usr/bin/expect << EOF
spawn ssh-copy-id bfadmin@192.168.100.$i
expect {
"yes/no" { send "yes\r"; exp_continue; } "*password" { send "P@ssw0rd\r" } } expect "~$ " send "exit\r" expect eof EOF done 

下载PSSH安装包

wget http://www.theether.org/pssh/pssh-1.4.3.tar.gz #下载PSSH安装包
tar zxvf pssh-1.4.3.tar.gz
cd pssh-1.4.3
wget 'http://peak.telecommunity.com/dist/ez_setup.py'
python ez_setup.py 
python setup.py install

安装好后执行
pssh -P -h ip.txt 'uptime

原文链接

转载于:https://www.cnblogs.com/jzy996492849/p/6899112.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值