期望启用登录

时间:2018-12-06 22:05:58

标签: ssh expect

我为我的设备设置了3个密码(必须为18个字符)pwd身份验证。希望有一种方法可以通过Expect脚本设置为进入特权/启用模式。想要像ssh 1.1.1.1一样启动它,但是要使用脚本例如脚本1.1.1.1。从阅读该语言的1小时开始,基本上这就是我所拥有的:

#!/usr/bin/expect

pwd = "my first pwd"
pwd2 = "my second pwd"
pwd3 = "third pwd"
spawn ssh $1
expect "yes/no" 
    send "yes\r"
    expect "*?assword" 
    send "pwd/r"
    expect ">"
    send "en/r"
    send "pwd2/r"
    expect "$"
    send "en/r"
    send "pwd3/r"
interact

1 个答案:

答案 0 :(得分:0)

您犯了3个错误:

  1. 期望是语言的扩展,并且变量是通过set命令设置的。

    set pwd "my first pwd"
    
  2. Tcl将命令行参数放入(0索引)argv数组中。你得到第一个参数

    spawn ssh [lindex $argv 0]
    
  3. 像shell一样,您需要使用$var语法获取变量的值。另外,请确保对回车符使用正确的反斜杠。

    send "$pwd\r"