Shell
強制 rsync 進入非互動模式
我想在 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 中斷。