我想使用 rsync 将文件从服务器备份到本地计算机。我只能使用 RSA ssh 密钥登录服务器。
我已将密钥的密码存储在 Seahorse 密码和密钥中,这意味着我无需每次都输入密码即可登录服务器。我还可以执行与服务器相关的 rsync 命令,而无需输入密码。
当从 cron 作业执行相同的 rsync 命令时,它会失败,因为它正在查找 DSA 密钥(如日志中所示)而不是 RSA 密钥。
答案1
当你从 cron 运行某些东西时,它没有你的环境变量,所以它不知道向 Seahorse 询问你的密钥。您需要让您的脚本检查它。我自己没有这样做过,但我相信解决方法是运行seahorse-agent --variables
然后将它们源到脚本中。