通过脚本将您的密码传递给您的 SSH 密钥

mho*_*ost 4 scripting ssh bash ssh-keys ssh-agent

我正在编写一个脚本,允许我一次从所有服务器检索文件。我有 SSH 密钥以便登录我的服务器。但是,我的 SSH 密钥需要密码。

我正在编写的脚本不会自动化,它只会手动运行。所以我的脚本会提示用户输入 SSH 密钥密码。

我如何在连接到每个服务器时将密码发送到 SSH 密钥。我试图避免为每台服务器输入我的密码。

我知道我可以使用“期望”,但我希望有一种简单的方法可以做到这一点。也许一些环境变量?

谢谢。

vor*_*aq7 15

为什么不ssh-agent用于这个?
有关其他详细信息,请参阅手册页。:)

  • 您提议的替代方法是提供一种获取加密密钥和密码以从文件系统对其进行解密的方法。我无法轻易想象这种情况比程序内存中保存的未加密密钥更不安全。 (2认同)
  • 代理至少与将密码放在文件中一样安全(如果文件不受模式 600 或更多限制,则更安全),并且比将其放在 shell/环境变量中要安全得多:-) -- 如果你是偏执狂你总是可以在你的脚本完成后杀死代理。 (2认同)