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

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

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

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

答案1

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

ssh-agent

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

ssh-add

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

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

也许最干净的解决方案是在脚本中添加 ssh-agent shebang,例如:

#!/usr/bin/ssh-agent bash

ssh-add /path/to/ssh-key
ssh root@remotehost "remote commands"

还有很多与使用 ssh 代理相关的问题,因此您可能需要阅读一些有关一般使用建议的文章,例如:

相关内容