為什麼 rsync 在從 cron 作業執行時尋找 DSA 而不是 RSA 金鑰?

為什麼 rsync 在從 cron 作業執行時尋找 DSA 而不是 RSA 金鑰?

我想使用 rsync 將檔案從伺服器備份到本機。我只能使用 RSA ssh 金鑰登入伺服器。

我已將金鑰的密碼儲存在 Seahorse 密碼和金鑰中,這意味著我無需每次都輸入密碼即可登入伺服器。我還可以執行與伺服器相關的 rsync 命令,而無需輸入密碼。

當從 cron 作業執行相同的 rsync 命令時,它會失敗,因為它正在尋找 DSA 金鑰(如日誌中所示)而不是 RSA 金鑰。

答案1

當你從 cron 運行某些東西時,它沒有你的環境變量,所以它不知道向 Seahorse 詢問你的密鑰。您需要讓您的腳本檢查它。我自己沒有這樣做過,但我相信解決方法是運行seahorse-agent --variables然後將它們源到腳本中。

相關內容