Rsync über Remote-Shell-Verbindung: Server sendet Rsync-Protokollnachricht statt Begrüßung

Rsync über Remote-Shell-Verbindung: Server sendet Rsync-Protokollnachricht statt Begrüßung

Ich versuche, rsync über eine Remote-Shell-Verbindung von einem Asustor NAS zu meinem Ubuntu-Server auszuführen. Der Befehl vom NAS kann nicht geändert werden, da er über die Weboberfläche ausgeführt wird. Aber ich kenne den ausgeführten Befehl und kann ihn manuell testen, was einen Fehler ausgibt. Es sieht ungefähr so ​​aus, wenn ich es vom NAS aus ausführe:

$ /usr/builtin/bin/rsync -e "/usr/bin/ssh -l ssh-user-on-my-server -p 12345" --progress -a --timeout=60 rsync://[email protected]:873/rsync-module
[email protected]'s password: 
rsync: server sent "2017/01/17 19:38:58 [6920] connect from xxx-xxx-xxx-xxx-url-to-the-nas.com (xxx.xxx.xxx.xxx)" rather than greeting
rsync error: error starting client-server protocol (code 5) at /asustor/branch2_6_2016_09_22/x64_g1/source/rsync-3.0.9/main.c(1649) [Receiver=3.0.9]

Mir ist aufgefallen, dass die obige Meldung genau wie das Protokollformat von rsyncd aussieht. Dies ist eine Beispielausgabe von rsyncd, wenn rsync vom NAS zu meinem Ubuntu-Server ohne SSH ausgeführt wird:

2017/01/06 23:42:13 [5979] connect from xxx-xxx-xxx-xxx-url-to-the-nas.com (xxx.xxx.xxx.xxx)
2017/01/06 22:42:13 [5979] rsync on rsync-module/ from [email protected] (xxx.xxx.xxx.xxx)
2017/01/06 22:42:13 [5979] building file list
2017/01/06 22:42:14 [5979] sent 172 bytes  received 24 bytes  total size

Ich habe überprüft, dass sowohl SSH als auch rsync einzeln funktionieren. Dieses Problem tritt nur auf, wenn ich versuche, das Skript auszuführen, also rsync über eine Remote-Shell-Verbindung.

Das sieht sehr nachRsync mit SSH und Root funktioniert nicht, nachdem die Host-IP geändert wurde, aber das Problem dort war eine Begrüßungsnachricht von .bashrc.

Antwort1

Ich habe die Antwort selbst gefunden. Wie gesagt, die Ausgabe, über die sich rsync beschwerte, sah genauso aus wie das rsync-Protokoll. Das Problem war mein rsyncd.conf. Ich begann dieses Projekt, indem ich einen Docker für den rsync-Dienst erstellte. Um Feedback von meinem Docker zu erhalten, fügte ich meiner Konfigurationsdatei die folgende Zeile hinzu: log file = /dev/stdout. Der rsync-Daemon druckte das Protokoll direkt in stdout!

verwandte Informationen