如何自动输入ssh密钥密码?

如何自动输入ssh密钥密码?

我们有 base64 编码的 SSH 密钥密码(所以不是用户帐户密码!)。

我们必须保持一个通往某个地方的 SSH 隧道打开。

但有时连接会出现问题,SSH 会话会终止。

当我们启动SSH隧道时,SSH私钥是用密码加密的,因此需要人输入密码。

我们知道,将 ssh 私钥密码保存在文件中只是晦涩难懂,但它会有所帮助:)

问题: 我们如何在打开隧道时自动输入密码?也许“期望”能有所帮助?

答案1

首先,最好的解决方案是使用私钥/公钥自动连接而无需密码,如果连接丢失,可以使用 autossh 来保持连接。请按照此说明进行操作。您可以在客户端中使用以下命令创建 SSH 密钥对,将密码保留为空,以无需密码即可连接:

ssh-keygen -t rsa -b 4096

然后,使用以下命令将 SSH 密钥复制到服务器:

ssh-copy-id [email protected]

现在您可以无需密码即可连接服务器。最后安装autossh并执行与服务器的连接以创建隧道:

autossh -M 0 -fN -o "ServerAliveInterval 30" -i /path/id_rsa -L 3307:localhost:3306 user@server

相关内容