expect批量分发密钥文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了expect批量分发密钥文件相关的知识,希望对你有一定的参考价值。
在做批量分发的时候第一次是两个脚本来完成,后来做了一个expect嵌套,完成了一个脚本进行集成
前提要求服务器需要安装expect
[[email protected] 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 [email protected]$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
脚本效果实现效果:
[[email protected] 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脚本同步文件,构建文件分发系统,批量远程执行命令
expect脚本同步文件expect脚本指定host和要同步的文件构建文件分发系统批量远程执行
expect脚本同步文件 expect脚本指定host和要同步的文件 构建文件分发系统 批量远程执行