成功通过SSH连接到IP思科电话后,会出现另一个登录提示(snoopyplus login:
),然后出现Password:
。
我想创建一个脚本,它生成ssh,连接到设备,在第二个登录提示符中再次登录,然后执行某些操作。到目前为止,我尝试过这样的事情:
$!/usr/bin/expect -f
spawn ssh user@ip
expect "assword:"
send "pw"
expect "snoopyplus login:"
send "user2"
expect "Password:"
send "pw2"
脚本与SSH连接并最终在snoopyplus login:
我试图期望不同的单词(登录,ogin,snoopy ..)而不是" snoopyplus登录"但它从来没有奏效。我用sshpass测试它但它最终在同一个地方。
我不想使用SSH密钥,我不介意密码可见。
有办法吗?
谢谢
答案 0 :(得分:0)
我会在您第一次发送密码后设置一个休眠间隔,这样可以预期有时间。我期望使用的大多数都是在python中使用带有pendpect的sendline附加一个回车符,看起来你需要在Tcl中手动添加它。同时根据我在多个不同的制造商和操作系统之间的经验,期待你的提示结束('>',"#","%&# 34;,":")减轻了一些问题。