expect -c " set timeout -1; spawn ssh root@192.168.
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
--结束END--
本文标题: linux expect
本文链接: https://lsjlt.com/news/245640.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0