我希望能够使用一个Expect脚本通过SSH连接远程登录到路由器,以下是我的脚本:
#!/usr/bin/expect
set host "192.168.1.50"
set user "root"
set password "mypass"
spawn ssh "$user\@host"
expect "word:"
send "$password\r"
当我尝试使用它时,路由器变得无响应(可能超时)。 当它进入密码提示行时,它立即退回。
我使用SSH密钥进行身份验证,第一次登录时手动键入“是”以回答“是/否”问题。 然后,在第一次尝试后,路由器会自动提示我输入密码。 具体来说,它有两行:
User Authentication
Password:
几秒钟后,它回到我的根目录,好像发送命令在密码提示后没有发送任何内容。
因此,我的问题是:我对Expect和脚本编写的了解非常有限,解决方法是什么?出了什么问题?