为什么 rsync 在从 cron 作业运行时查找 DSA 而不是 RSA 密钥?

为什么 rsync 在从 cron 作业运行时查找 DSA 而不是 RSA 密钥?

我想使用 rsync 将文件从服务器备份到本地计算机。我只能使用 RSA ssh 密钥登录服务器。

我已将密钥的密码存储在 Seahorse 密码和密钥中,这意味着我无需每次都输入密码即可登录服务器。我还可以执行与服务器相关的 rsync 命令,而无需输入密码。

当从 cron 作业执行相同的 rsync 命令时,它会失败,因为它正在查找 DSA 密钥(如日志中所示)而不是 RSA 密钥。

答案1

当你从 cron 运行某些东西时,它没有你的环境变量,所以它不知道向 Seahorse 询问你的密钥。您需要让您的脚本检查它。我自己没有这样做过,但我相信解决方法是运行seahorse-agent --variables然后将它们源到脚本中。

相关内容