Linux 期望发送SSH

Linux 期望发送SSH,linux,ssh,passwords,send,except,Linux,Ssh,Passwords,Send,Except,我只想通过ssh自动登录 当我尝试这个脚本时,输入用户名非常有效 …但是当脚本尝试输入密码时…什么也没有发生,一段时间后脚本被取消。除了密码之外,我已经尝试过使用表达式的所有操作 谁能帮帮我吗 #!/usr/bin/expect spawn ssh admin@10.101.96.2 expect '*User: ' send "admin\r" expect 'assword:' send "AHSa4heL.\r" send "show interface summary" 通过expec

我只想通过ssh自动登录

当我尝试这个脚本时,输入用户名非常有效 …但是当脚本尝试输入密码时…什么也没有发生,一段时间后脚本被取消。除了密码之外,我已经尝试过使用表达式的所有操作

谁能帮帮我吗

#!/usr/bin/expect
spawn ssh admin@10.101.96.2
expect '*User: '
send "admin\r"
expect 'assword:'
send "AHSa4heL.\r"
send "show interface summary"

通过
expect

spawn bash -c "ssh user@machine"
expect "?*assword:*"
send -- "password\r"
expect "$"

其中一件事是,你有
assword:
没有正则表达式可以说,hey expect this会说一些其他的东西,然后
assword:
它只会说expect
assword:
,所以它正在做你告诉expect要做的事情。另外,如果您正在执行
user@machine
?因此,根据我的经验,您不应该期望再次输入用户名,除非定制的
ssh
登录需要发送
user

尝试以下操作通过
expect
登录
ssh

spawn bash -c "ssh user@machine"
expect "?*assword:*"
send -- "password\r"
expect "$"
其中一件事是,你有
assword:
没有正则表达式可以说,hey expect this会说一些其他的东西,然后
assword:
它只会说expect
assword:
,所以它正在做你告诉expect要做的事情。另外,如果您正在执行
user@machine
?因此,根据我的经验,您不应该期望再次输入用户名,除非定制的
ssh
登录需要发送
user

请将您的问题移至。就在这里。请把你的问题转到。在这儿。