• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    用expect实现ssh自动登录服务器并进行批量管理的实现方法

    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实现自动登录脚本实例代码
    上一篇:ssh expect自动登录的脚本代码
    下一篇:putty实现自动登录的方法(ssh和ssh2)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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