expect--自动批量分发公钥脚本

Posted dev0ps

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了expect--自动批量分发公钥脚本相关的知识,希望对你有一定的参考价值。

1.在使用之前,先安装epel源,yum install expect -y
2.写分发脚本,后缀为exp

#!/usr/bin/expect
set host_ip [lindex $argv 0]
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $host_ip
expect {
        -timeout 60
        "(yes/no)?" { send "yes
";exp_continue}
        "password:" { send "Ak46
"}
        timeout {puts "Connect timeout!";return}
}
expect eof
exit -onexit {
        send_user "Job has finished!"
}

注:set的作用是设置变量,spawn设置执行命令时,可以引用变量;变量的第一个参数为0
3.执行以下命令开始分发

for ip in `cat /root/ip.txt`;do expect /root/fenfa_sshkey.exp $ip ;done

 

以上是关于expect--自动批量分发公钥脚本的主要内容,如果未能解决你的问题,请参考以下文章

expect脚本同步文件,构建文件分发系统,批量远程执行命令

expect脚本同步文件 expect脚本指定host和要同步的文件 构建文件分发系统 批量远程执行

expect脚本同步文件expect脚本指定host和要同步的文件构建文件分发系统批量远程执行

expect脚本同步文件expect脚本指定host和同步的文件构建文件分发系统批量远程执行命

expect脚本同步文件,expect脚本指定host和要同步的文件,构建文件分发系统,批量远程执行

expect脚本同步文件,expect脚本指定host和要同步的文件,构建文件分发系统,批量远程执行