Ubuntu

通過 ssh 進行 Rsync,雙方均具有 root 訪問權限

  • July 2, 2020

我有一台較舊的 ubuntu 伺服器和一台較新的 debian 伺服器,我正在將數據從舊伺服器遷移到新伺服器。我想使用 rsync 來傳輸數據,以使最終遷移比等效的 tar/scp/untar 過程更容易和更快。

例如,我想一次將一個主文件夾同步到新伺服器。這需要在兩端都具有 root 訪問權限,因為並非源端的所有文件都是世界可讀的,並且目標必須以正確的權限寫入 /home。我不知道如何在雙方都授予 rsync root 訪問權限。

我看過一些相關的問題,但沒有一個完全符合我想要做的。

我已經 sudo 設置並在兩台伺服器上工作。

實際上**,您不需要**像 Antoine 建議的那樣允許通過 SSH 進行 root 身份驗證來執行 rsync。只要您可以在兩端使用 sudo 執行 rsync 以讀取和寫入文件,就可以完全通過使用者帳戶完成傳輸和系統身份驗證。

作為目標伺服器上的使用者,您可以像這樣從源伺服器中提取數據:

sudo rsync -aPe ssh --rsync-path='sudo rsync' boron:/home/fred /home/

您在兩台伺服器上執行的使用者將需要無密碼* sudo 訪問 rsync 二進製文件,但您不需要在任何地方以 root 身份啟用 ssh 登錄。如果您使用的使用者在另一端不匹配,您可以添加 user@boron: 以指定不同的遠端使用者。

祝你好運。

*或者您需要在超時視窗內手動輸入密碼。

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