情况:运行Ubuntu 10.04。 我有一个bash脚本,焦油的一堆文件夹,并通过SSH复制到另一台主机。 我已经将公钥复制到另一台主机,所以它不提示input密码。 我运行eval ssh-agent (带有额外的引号)和ssh-add来caching到密码,之后我可以在没有任何提示的情况下运行脚本。 到现在为止还挺好。
问题:我想通过一个cronjob运行这个脚本,现在我自己的用户(这只是一个testing设置)。 但是当我重新启动机器,ssh-agent失去了通过ssh-add添加的密钥,我必须再次执行eval ssh-agent&ssh-add才能使它工作。
问题:如何让ssh-agent始终运行? (因为当cronjob运行时不会有用户login) – 我如何将我的rsa_id永久保存到ssh-add?
创build时,您需要将ssh密钥的密码保留为空白。 这样你就不需要使用ssh-agent。 很显然,这种select有安全隐患 – 但是如果密钥被保护,ssh-agent将首先要求你input密码短语。
从技术上讲,你可以使用期望从脚本中传递一个密码短语到ssh-agent,但是如果你准备把你的密码短语放到脚本中,你可以把它留空。
如果遵循此路线,通常提高安全性的方法是只允许有问题的密钥访问另一台服务器上专门devise/限制的帐户。