Grundsätzlich frage ich, ob jemand auf ein Mittel gestoßen ist, mit dem man rsync in ssh einbinden kann.
Mit OpenSSH v4.9 + hat sftp einige nette Optionen, mit denen Sie die eingehende Verbindung chrooten können - und das ist eine Lösung, die ich mir ansehen würde, aber ich bleibe bei RHEL, und weder RHEL4 noch RHEL5 sind bis zu dieser Version von ssh.
Meine derzeitige Lösung besteht darin, der Serverseite mithilfe des Schlüssels des Clientbenutzers so etwas hinzuzufügen ...
Server% cat ~ / .ssh / authorized_keys Befehl = "cd / srv / rsync / etl && tar --exclude './lost+found' -pcf - ./" ssh-rsa ...
... und so wäre der Kunde dann auf eine Sache und nur auf eine Sache beschränkt ...
client% ssh -T -i $ {HOME} / .ssh / id_rsa [email protected]> sensative.tar
Dies sichert die Verbindung sowie den Server (vom Client), ist jedoch ineffizient, da alle Dateien immer wieder abgerufen werden.
Ich mache etwas ähnliches (oder besser) mit rsync.
Okay, ich habe es endlich herausgefunden, aber die Lösung ist nicht so elegant, wie ich es mir erhofft hatte.
Auf der Serverseite müssen Sie der authorized_keys-Datei für den entsprechenden Benutzer Folgendes hinzufügen ...
Auf dem Client können Sie dann wie folgt einen Tunnel erstellen ...
Sobald der Tunnel eingerichtet ist, können Sie wie gewohnt eine Synchronisierung mit localhost durchführen, wobei die Syntax mit zwei Doppelpunkten nicht möglich ist.
Die von Ihnen ausgewählte localhost-Portnummer (8073) ist natürlich völlig optional. Denken Sie jedoch daran, dass Sie mit dieser Nummer synchronisieren müssen, um ...
quelle
Möglicherweise interessiert Sie der Daemon-over-ssh-Modus, der Gegenstand dieser Frage ist:
Rsync kann nicht im Daemon-over-ssh-Modus ausgeführt werden
quelle