当前位置 博文首页 > shell脚本通过expect实现自动单边无密登录功能

    shell脚本通过expect实现自动单边无密登录功能

    作者:扶艾 时间:2021-06-30 17:45

    最近项目需要实现单边无密登录,去网上搜索了下相关文章,实践之后发现几乎都不能用。于是结合expect的使用方法自行写了一个,通过验证可用。现在总结在这供需要的朋友参考。

    代码如下:

    EXPECT=/usr/bin/expect 
    $EXPECT <<EOF 
    spawn ssh-keygen -t rsa 
    expect "*ssh/id_rsa*" { 
      send -- "\r" 
      expect "*for no passphrase*" 
      send -- "\r" 
      expect "*passphrase again*" 
      send -- "\r" 
      exp_continue 
    } 
    EOF 
    iplist=`cat /root/ip.list` 
    for ip in $iplist 
    do 
      $EXPECT <<EOF 
      spawn ssh-copy-id root@$ip 
      expect "*(yes/no)?*" { 
        send -- "yes\r" 
        expect "*?assword:*" 
        send -- "$PASSWD\r" 
      } "*?assword:*" { 
        send -- "$PASSWD\r" 
        exp_continue 
      } 
    EOF 
    done 

    以上所述是小编给大家介绍的shell脚本通过expect实现自动单边无密登录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站长博客网站的支持!

    js