如何使用SSH预先输入密码?

时间:2015-02-24 15:22:14

标签: linux ssh

我经常操作我的远程vps。我写一些脚本只是为了我的工作。但是每次在ssh命令行之后,我都必须手动输入密码。如何在脚本中提供密码,以便它虽然我知道它不安全,但我的目标只是为了方便。 我尝试了很多方法。 详细说明,如果我有一个配置为vps的vps:

  

协议= SSH

     

主机= 122.122.122.122

     

端口= 22

     

用户名:根

     

密码:输入mypassword

我会编写一个脚本作为花来连接vps:

#!/bin/sh
ssh -p 22  root@122.122.122.122
#Other command flowers

然后我运行脚本。在运行其他命令之前,我必须输入密码。

  

root@122.122.122.122' s密码:

所以我想知道我是否有任何解决方案可以避免手动输入密码。

1 个答案:

答案 0 :(得分:0)

方法1:  首先创建一个新的密钥对:

ssh-keygen

将公钥复制到服务器:

ssh-copy-id user@my.server.com

现在服务器应该识别您的密钥,因此不再要求您输入密码:

ssh user@my.server.com

方法2:

使用期望

#!/usr/bin/expect -f
spawn ssh user@my.server.com
expect "assword:"
send "mypassword\r"
interact