码迷,mamicode.com
首页 > 其他好文 > 详细

expect批量分发密钥文件

时间:2017-11-04 00:04:40      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:expect

在做批量分发的时候第一次是两个脚本来完成,后来做了一个expect嵌套,完成了一个脚本进行集成

前提要求服务器需要安装expect

[root@130 scripts]# yum -y install expect

脚本分析:

#!/bin/bash
key_file=‘/root/.ssh/id_dsa‘

####################### 判断秘钥文件是否存在 ######################
if [ -f $key_file ]
        then
echo "秘钥文件已存在,准备下一步分发"
        else
ssh-keygen -t dsa -P ‘‘ -f /root/.ssh/id_dsa > /dev/null 2>&1
fi

####################### 批量分发秘钥 #########################
for ip in {128..140}       
do
/usr/bin/expect  << EOF > /dev/null 2>&1
set password "root"
spawn  ssh-copy-id -i $key_file "-p 22 root@192.168.222.$ip"
expect {
        "yes/no"        {send "yes\r";exp_continue}
        "*password"     {send "root\r"}
}
expect eof
EOF

####################### 显示分发状态 ##########################
if [ $? -eq 0 ]
        then
echo "192.168.222.$ip 秘钥分发成功"
#echo 0
        else
echo "192.168.222.$ip 秘钥分发失败"
#echo 1
fi
done

脚本效果实现效果:

[root@130 scripts]# ./send_file 
秘钥文件已存在,准备下一步分发
192.168.222.128 秘钥分发失败
192.168.222.129 秘钥分发失败
192.168.222.130 秘钥分发成功
192.168.222.131 秘钥分发成功
192.168.222.132 秘钥分发成功
192.168.222.133 秘钥分发失败
192.168.222.134 秘钥分发失败
192.168.222.135 秘钥分发成功
192.168.222.136 秘钥分发失败
192.168.222.137 秘钥分发失败
192.168.222.138 秘钥分发失败
192.168.222.139 秘钥分发失败
192.168.222.140 秘钥分发失败

!!!显示分发成功的服务器就可以直接无密码在服务器上进行登陆了

本文出自 “小小小平凡” 博客,谢绝转载!

expect批量分发密钥文件

标签:expect

原文地址:http://swiki.blog.51cto.com/9500075/1978831

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