ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux expect

linux expect

Linux操作系统 作者:hgs19921112 时间:2018-08-07 22:33:39 0 删除 编辑
expect -c "
   set timeout -1;
   spawn ssh root@192.168.6.132;
   expect {
    *(yes/no)* {send  yes\r ;exp_continue;}
    *password* {send  123456\r ;exp_continue;}
eof {exit 0 }
}";
通过expect工具,shell在while循环中完成服务期间的免密登录一键话脚本
1.前提要安装expect包
2.代码如下:
#!/bin/sh
#主服务器密码
password=123456
while read hostname ; do
    expect -c "
         set timeout -1;
         spawn ssh-copy-id ${hostname} ;
         expect {
         "*password:*" {send --  ${password}\r ;exp_continue;}
         "*\(yes/no\)*"  {send -- yes\r ;exp_continue;}
         eof {exit 0;}
          }"
echo "hosts:${hostname} done."
#ipconf.cfg 中存放要与主服务器要免密登录的用户的ip 例如: root@1921.68.245.134 每一行的格式与该例相同
done < ipconf.cfg
ifconf.cfg示例:
   root@192.168.6.132
   root@192.168.6.133



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31506529/viewspace-2199363/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2017-11-22

  • 博文量
    76
  • 访问量
    26889