我正在运行 Ubuntu Web 服务器,并设置了 RSA 公钥/私钥,以便可以安全地备份到我的 Windows 服务器。我已经测试过通过 SFTP 备份我的系统,它工作正常。我最近编写了备份过程的脚本,但我遇到了私钥密码问题,每次都必须输入。我决定尝试使用 keychain 来解决这个问题。
我继续安装了 keychain 2.7.1,并使用以下行配置了我的 .bash_profile:
eval `keychain --eval id_rsa`
这样当我通过 SSH 进入我的服务器时,系统就会提示我输入密码,并且 SSH 代理会保存该密码,这样我就不必每次都重新输入密码。上面的问题是,我从来没有被提示输入密码。当我通过 SSH 进入我的服务器时,我得到以下信息:
* keychain 2.7.1 ~ http://www.funtoo.org
* Starting ssh-agent...
在随后的登录尝试中我得到以下信息:
* keychain 2.7.1 ~ http://www.funtoo.org
* Found existing ssh-agent: 1760
我按照他们网站上的文档进行操作:
http://www.funtoo.org/wiki/Keychain
但似乎不起作用。登录后,我可以手动执行 ssh-add,系统会提示我输入私钥的密码,这很正常。我不确定我在使用 keychain 时哪里做错了,为什么一开始没有提示?