自动填写ssh身份文件密码?

wiz*_*zeb 4 ssh shell-script

当我制作 ssh 密钥时,我为密钥添加了密码。现在我正在尝试编写一个脚本来运行一些 ssh 和 rsync 命令。不幸的是,由于我的 rsa 密钥上有密码,因此每次都会提示输入密码。有没有一种方法可以提示用户输入密钥密码,然后将其重定向到 ssh 命令?

** 这不是 ssh 用户密码。这是密钥的密码 **

iga*_*gal 5

您可以使用 ssh 密钥代理。启动代理的命令是:

ssh-agent
Run Code Online (Sandbox Code Playgroud)

然后您必须将您的密钥添加到代理。要添加默认密钥 (~/.ssh/id_rsa),您可以使用以下命令:

ssh-add
Run Code Online (Sandbox Code Playgroud)

您必须输入一次密码才能添加密钥。

您可能还想查看此 ServerFault 帖子以获取更多信息:

也许那里提出的最干净的解决方案是在您的脚本中添加一个 ssh-agent shebang,例如:

ssh-agent
Run Code Online (Sandbox Code Playgroud)

还有很多与使用 ssh 代理相关的问题,所以你可能想阅读一些关于一般使用建议的文章,例如: