Wie authentifiziere ich mich als Root über rsync+ssh bei einem Remote-Server?

Wie authentifiziere ich mich als Root über rsync+ssh bei einem Remote-Server?

Ich versuche, den rsyncBefehl zu verwenden, erhalte jedoch die Meldung „Berechtigung verweigert“, da der Pi-Benutzer ohne den Befehl sudo keine Schreibberechtigung hat.

Ich versuche, meinen Apache2-Ordner von 10.0.2.2 nach[email geschützt]mit

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

Die große Frage ist also, gibt es eine Möglichkeit, dem rsync einen Sudo-Befehl für den Pi-Benutzer bereitzustellen? oder etwas anderes, ohne dem Pi-Benutzer vollen Zugriff zu gewähren?

Antwort1

Lieber Downvoter, das Ziel ist ein Raspberry Pi und daher haben wir einen Root-Benutzer.


Sie können den rootBenutzer anstelle von verwenden pi. Zuvor benötigen Sie jedoch ein Kennwort für den rootBenutzer.

Öffnen Sie eine SSH-Verbindung

ssh [email protected]

Und legen Sie ein rootPasswort fest

sudo su -
passwd

Jetzt können Sie verwenden

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

Antwort2

Die einfachste Methode, wenn ein Root-Login verfügbar ist, ist:

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

Hinweis: Dies ist nicht erforderlich, sudo rsyncwenn alle Konfigurationsdateien /etc/apache2allgemein lesbar sind.

Wenn Ihnen einige zusätzliche interaktive Befehle auf dem Pi nichts ausmachen sudo, versuchen Sie diesen Ansatz:

  1. Packen Sie alle Dateien (die Dateien /etcsind im Allgemeinen klein, daher sollte es kein Problem sein, alles zu packen):

    tar -czC /etc apache2 | ssh [email protected] 'cat > /tmp/apache2.tar.gz'
    
  2. Dekomprimieren Sie alle Dateien auf dem Pi:

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

Es gibt eine dritte Möglichkeit, bei der ein Rsync-Daemon konfiguriert wird. Dies erfordert jedoch mehr Aufwand und ist möglicherweise weniger sicher, da das Wire-Protokoll unverschlüsselt ist und möglicherweise jedem Zugriff gewährt, der eine Verbindung zum Daemon herstellen kann.

verwandte Informationen