リモート サーバーに 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の代わりに ユーザーを使用できますpi。ただし、その前にユーザーのパスワードが必要ですroot

SSH接続を開く

ssh [email protected]

rootパスワードを設定してください

sudo su -
passwd

これで、

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

答え2

ルート ログインが利用可能な場合の最も簡単な方法は次のとおりです。

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
    

3 つ目の方法として、rsync デーモンを構成する方法がありますが、これにはより多くの労力が必要であり、ワイヤ プロトコルが暗号化されていないため、デーモンに接続できるすべてのユーザーにアクセス権が付与される可能性があるため、安全性が低くなる可能性があります。

関連情報