主页 > 知识库 > 用expect实现ssh自动登录服务器并进行批量管理的实现方法

用expect实现ssh自动登录服务器并进行批量管理的实现方法

热门标签:外呼系统一天耗费多少流量 陕西便宜电销机器人软件 杞县地图标注app 免费门店地图标注注册入驻 昆明电话外呼系统好么 电话机器人每天搜索多少次 海口智能语音电销机器人好用吗 艾比利外呼系统 衡水外呼线路解决

shell代码:

复制代码 代码如下:

#!/usr/local/bin/expect
set PASSWD [lindex $argv 1]
set IP     [lindex $argv 0]
set CMD [lindex $argv 2]
spawn ssh $IP $CMD
expect "(yes/no)?" {
send "yesr"
expect "password:"
send "$PASSWDr"
} "password:" {send "$PASSWDr"} "*host " {exit 1}
expect eof

注解:

第一行,制定使用/usr/local/bin目录下的expect命令对后面的程序进行解释。
第二行,三行,四行,分别从命令行参数中获取要登录的主机IP地址,登陆密码,以及要执行的命令。
第五行,大概就是要触发这样一个事件,执行ssh $IP $CMD命令。
第6行至第11行就是expect的整个交互过程了。
如果读取到(yes/no)?提示符,就输入yes并回车,如果读取到password:提示输入密码的字符串,就输入用户登录密码(root用户)。
当然如果不是第一次登陆,以前已经登录过的话,当输入ssh $IP $CMD回车后,会直接提示输入密码也就是说会读到字符串”* password:”,这个时候会输入密码回车(send "$PASSWDr").
另外,如果主机不可达的话,(yes/no)?和”password:”的可能都不会出现,系统会提示:
“No route to host”退出程序。

您可能感兴趣的文章:
  • ssh expect自动登录的脚本代码
  • 用expect实现的自动登录到多台服务器的shell脚本
  • Linux中使用expect脚本实现远程机器自动登录
  • shell脚本通过expect实现自动单边无密登录功能
  • Linux expect实现自动登录脚本实例代码

标签:昌都 临沧 海口 营口 西宁 宿迁 南京 泰安

巨人网络通讯声明:本文标题《用expect实现ssh自动登录服务器并进行批量管理的实现方法》,本文关键词  用,expect,实现,ssh,自动,登录,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《用expect实现ssh自动登录服务器并进行批量管理的实现方法》相关的同类信息!
  • 本页收集关于用expect实现ssh自动登录服务器并进行批量管理的实现方法的相关信息资讯供网民参考!
  • 推荐文章