shell实现批量分发ssh公钥

  • 生产实践:

     批量分发公钥

  • 学习技巧:

    for循环及expect使用

  • 脚本内容:

#!/usr/bin/expect -f
############################################################
# $Name:         tra_pub.exp
# $Version:      v1.0
# $Function:     transfer id_rsa.pub
# $Author:       Zhihe An
# $organization: chegva.com
# $Create Date:  2017-01-11
############################################################
set timeout -1
set user anzhihe
set passwd "anzhihe"
for { set i 19 } { $i < 25 } { incr i } {
    spawn ssh-copy-id -i /home/anzhihe/.ssh/id_rsa.pub $user@192.168.64.$i
    expect {
        "yes/no" { send "yes\r";exp_continue }
        "id_rsa" { send "yes\r";exp_continue }
        "*assword" { send "$passwd\r" }
    }
}
expect eof
exit -onexit {
send_user "Work is done,Good lucky to you!\n"
     }


anzhihe安志合个人博客,版权所有丨 如未注明,均为原创 丨转载请注明转自:https://chegva.com/2165.html | ☆★★每天进步一点点,加油!★★☆

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注