我试着使用它,但我发现它很慢。
我的代码:
#!/usr/bin/expect -f
set hostname [lindex $argv 0]
spawn ssh "xxx@$hostname"
expect "password: "
send "xxxxxr"
expect "$ "
send "sudo su adminr"
expect "assword:n"
send "xxxxxr"
expect "$ "
send "cat /tmp/id_rsa.pub >> /home/admin/.ssh/authorized_keysr"
expect "$ "
send "exitr"
你有什么建议吗?
将exp_internal 1
添加到脚本的顶部,这样您就可以观察预期的结果。
我怀疑这是错误的:expect "assword:n"
——我打赌实际的密码提示不会以换行符结束。尝试删除n
尝试
ssh-o GSSAPI身份验证=否login@remoteipipaddress
如果成功。。需要编辑/etc/ssh/ssh_config和/etc/ssh/sshd_config并寻求GSSAPI身份验证。请将值更改为"否"。
它对我有效。