用scrip自动输入SSH密码

2024-03-28 09:21:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要创建一个脚本,自动向OpenSSHssh客户端输入密码。

假设我需要用密码SSH进入myname@somehost

我已经试过了。。。

#~/bin/myssh.sh
ssh myname@somehost
a1234b

……但这不起作用。

如何将此功能添加到脚本中?


Tags: 功能脚本密码客户端binshsshsomehost
2条回答

在为这个问题寻找了几个月的答案之后,我终于找到了一个更好的解决方案:编写一个简单的脚本。

#!/usr/bin/expect

set timeout 20

set cmd [lrange $argv 1 end]
set password [lindex $argv 0]

eval spawn $cmd
expect "assword:"
send "$password\r";
interact

把它放到/usr/bin/exp,然后您可以使用:

  • exp <password> ssh <anything>
  • exp <password> scp <anysrc> <anydst>

完成!

使用公钥身份验证:https://help.ubuntu.com/community/SSH/OpenSSH/Keys

在源主机中只运行一次:

ssh-keygen -t rsa # ENTER to every field
ssh-copy-id myname@somehost

仅此而已,在那之后你就可以不用密码做ssh了。

相关问题 更多 >