码迷,mamicode.com
首页 > Web开发 > 详细

shell 脚本交互模式expect批量上传ssh密钥

时间:2019-03-29 16:11:07      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:记录   pre   wait   全路径   expec   id_rsa   脚本   模式   $?   

#!/usr/bin/bash
###批量上传密钥

V.1.0 by chenght 2019-03-29

password=12345qwert
for i in {2..254} ######批量获取ip地址
do
{
ip=192.28.1.$i
ping -c1 -W1 $ip &>/dev/null ####记录成功的ip
if [ $? = 0 ];then
echo "$ip">>ip.txt

EOF 交互内容容易出错,请注意
   /usr/bin/expect <<-EOF
   set timeout 10
   spawn ssh-copy-id -i /root/.ssh/id_rsa.pub -p 10022 admin@$ip   ##上传的密钥写全路径#
   expect {
           "yes/no" { send "yes\r";exp_continue }
            "password:" { send "$password\r" }
          }
   expect eof

EOF
fi
}&
done
wait
echo "fininsh.."

shell 脚本交互模式expect批量上传ssh密钥

标签:记录   pre   wait   全路径   expec   id_rsa   脚本   模式   $?   

原文地址:https://blog.51cto.com/5776643/2371227

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