Shell

強制 rsync 進入非互動模式

  • July 13, 2009

我想在 python 腳本中使用 rsync。我使用模組呼叫它,並使用儲存在遠端機器上subprocess的文件中的公鑰進行身份驗證。authorized_key

唯一的問題是,當我使用錯誤的遠端使用者名使用 rsync 時,系統會提示我輸入密碼,這顯然會永遠停止備份腳本。

rsync如果無法驗證,我可以強制退出,而不是提示輸入密碼嗎?

烏迪

假設您將 rsync 與 SSH 遠端 shell 一起使用(而不是 - 例如 - 與 rsync 伺服器一起使用),那麼您可以讓 rsync 以永遠不會詢問密碼的方式執行 SSH。例如,一次可以使用這個呼叫:

rsync -e 'ssh -o "NumberOfPasswordPrompts 0"' source user@target:/path

這將強制 rsync 在 0 次可能的密碼嘗試中使用 SSH - 如果它無法使用其他一些身份驗證方法(如公鑰或 GSSAPI)獲得訪問權限,那麼它將失敗並出現錯誤。請注意,當這種情況發生時,rsync 不會喜歡你,並且會大聲向 STDERR 抱怨並以退出程式碼 255 中斷。

引用自:https://serverfault.com/questions/39571