如何透過 rsync+ssh 向遠端伺服器驗證自己的 root 身分?

如何透過 rsync+ssh 向遠端伺服器驗證自己的 root 身分?

我正在嘗試使用該rsync命令,但收到“權限被拒絕”的訊息,因為 pi 用戶無權在沒有 sudo 命令的情況下進行寫入

我正在嘗試將 apache2 資料夾從 10.0.2.2 移動到[電子郵件受保護]

sudo rsync -av /etc/apache2 [email protected]:/etc/

所以最大的問題是,有沒有辦法為 pi 使用者提供 rsync sudo 指令?或其他不授予 pi 使用者完全存取權限的東西

答案1

親愛的反對者,目標是樹莓派,因此我們有一個 root 使用者。


您可以使用root使用者而不是pi。但在此之前您需要使用者的密碼root

開啟 ssh 連接

ssh [email protected]

並設定root密碼

sudo su -
passwd

現在你可以使用

rsync -av /etc/apache2 [email protected]:/etc/

答案2

當 root 登入可用時,最簡單的方法是:

rsync -av /etc/apache2 [email protected]:/etc/

sudo rsync注意:如果所有設定檔/etc/apache2都是世界可讀的,則不需要。

如果您不介意一些涉及sudopi 的額外互動式命令,請嘗試以下方法:

  1. 打包所有文件(其中的文件/etc通常很小,因此打包所有文件應該不是問題):

    tar -czC /etc apache2 | ssh [email protected] 'cat > /tmp/apache2.tar.gz'
    
  2. 解壓縮 pi 上的所有檔案:

    sudo tar -xzf /tmp/apache2.tar.gz -C /etc
    

第三種可能性涉及配置 rsync 守護進程,但這需要更多的努力,而且可能不太安全,因為有線協定未加密,並且可能向任何可以連接到守護程式的人授予存取權限。

相關內容