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=123456while 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.cfgifconf.cfg示例: root@192.168.6.132 root@192.168.6.133
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341