我尝试使用它,但我发现它非常慢。
我的代码:
#!/usr/bin/expect -f
set hostname [lindex $argv 0]
spawn ssh "xxx\@$hostname"
expect "password: "
send "xxxxx\r"
expect "$ "
send "sudo su admin\r"
expect "assword:\n"
send "xxxxx\r"
expect "$ "
send "cat /tmp/id_rsa.pub >> /home/admin/.ssh/authorized_keys\r"
expect "$ "
send "exit\r"
你有什么建议吗?
请您参考如下方法:
将 exp_internal 1
添加到脚本的顶部,这样您就可以看到 expect 正在做什么。
我怀疑这是错误的:expect "assword:\n"
-- 我打赌实际的密码提示不会以换行符结尾。尝试删除 \n