2015-02-24 86 views
-2

我经常操作我的远程vps.I写一些脚本来简单地工作。但每次在ssh命令行后,我都必须手动输入密码。如何在脚本中提供密码并使其自动工作,但我知道这是不安全的,但我的目标只是为了方便。 我已经尝试了很多方法。 要详细介绍,如果我与结构的VPS作为流动:如何使用SSH预先输入密码?

协议= SSH

主机= 122.122.122.122

端口= 22

用户名:根

密码:mypassword

我会写一个脚本,花连接VPS:

#!/bin/sh 
ssh -p 22 [email protected] 
#Other command flowers 

然后我运行script.Before其他命令运行,我必须输入密码。

[email protected]'s密码:

所以我想如果我有任何解决方案,以避免手动输入密码。

+1

谷歌为 “密码ssh”。有很多关于如何设置自动登录密钥文件的文档。 – 2015-02-24 15:23:55

+0

这是题外话,显示零研究工作。请在提问前尝试了解网站规则。 – 2015-02-24 15:28:02

+0

您可以配置SSH服务器以允许私钥吗?然后你可以创建一个密钥对,将私钥保存为'〜/ .ssh/id_dsa',在服务器上注册公钥,而不必再次输入密码。 – 2015-02-24 15:36:49

回答

0

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

ssh-keygen 

复制公钥到服务器:

ssh-copy-id [email protected] 

现在服务器应该认识到你的密钥,因此不会要求你输入密码了:

ssh [email protected] 

方法2:

使用期望

#!/usr/bin/expect -f 
spawn ssh [email protected] 
expect "assword:" 
send "mypassword\r" 
interact 
+0

非常感谢。方法1有效。但是,我无法理解方法2。虽然我将代码复制到本地主机,但它不起作用。如果我想了解有关“预期”的内容,可以向我推荐一些材料。 – 2015-02-24 15:45:13

相关问题