码迷,mamicode.com
首页 > 系统相关 > 详细

每日一shell(十一) 批量快速推送key到远程主机

时间:2018-08-09 10:10:40      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:scan   set   echo   copy   install   read   amp   out   shell   

作用:快速自动生成密钥,并批量推送到远程主机,适用于为ansible环境批量推送key

#!/bin/bash

keypath=/root/.ssh
iplist=/root/ip.txt
[[ -e ${iplist} ]] && > ${iplist}
for i in `seq 81 91`
do
   echo -E "192.168.118.$i" >> ${iplist}
   ssh-keyscan 192.168.118.$i >> ${keypath}/known_hosts
done
cat ${iplist}
[ -d {keypath} ] || mkdir -p ${keypath}
rpm -q expect &> /dev/null || yum install expect -y
[[ -e ${keypath}/id_rsa.pub ]] || ssh-keygen -t rsa -f ${keypath}/id_rsa -P ""
password=u7wtiYTl0
while read ip;do
expect << EOF
set timeout 5
spawn ssh-copy-id $ip
expect {

“yes/no” { send "yes\n";exp_continue }
"password" { send "$password\n"  }

}
expect off
EOF      
done < ${iplist}

每日一shell(十一) 批量快速推送key到远程主机

标签:scan   set   echo   copy   install   read   amp   out   shell   

原文地址:http://blog.51cto.com/m51cto/2156563

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!