2024-03-28 09:21:16 发布
网友
我需要创建一个脚本,自动向OpenSSHssh客户端输入密码。
ssh
假设我需要用密码SSH进入myname@somehost。
myname@somehost
我已经试过了。。。
#~/bin/myssh.sh ssh myname@somehost a1234b
……但这不起作用。
如何将此功能添加到脚本中?
在为这个问题寻找了几个月的答案之后,我终于找到了一个更好的解决方案:编写一个简单的脚本。
#!/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,然后您可以使用:
/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了。
在为这个问题寻找了几个月的答案之后,我终于找到了一个更好的解决方案:编写一个简单的脚本。
把它放到
/usr/bin/exp
,然后您可以使用:exp <password> ssh <anything>
exp <password> scp <anysrc> <anydst>
完成!
使用公钥身份验证:https://help.ubuntu.com/community/SSH/OpenSSH/Keys
在源主机中只运行一次:
仅此而已,在那之后你就可以不用密码做ssh了。
相关问题 更多 >
编程相关推荐