rsync + ssh : "error in rsync protocol data stream"

Backup, Restore und Transfer von Daten
Anonymous
 

rsync + ssh : "error in rsync protocol data stream"

Post by Anonymous »

Hallo liebe roots, server-admins & shell-Enthusiasten,

rsync -av(z) --delete-after -e "ssh -p $PORT -i mein-rsync-key -l $RUSER IP.xy.xy.xy" $RUSER@$RHOST:/$RPATH $LPATH

Dieses schöne Kommando, von meinem SMB/DC-Server abgesetzt (Debian Linux 2.6.18), soll zwei weitere Kisten
remote sync'en bzw. backup-Dateien heranholen. Auch beides Debian-Rechner, Kernel 2.6.20.

Es klappt für den lokalen Linux-PC (mailsystem, hinter der gleichen Firewall, IP 192.168., anderer port)
Und es schlägt fehl für den "entfernten" Linux-PC. (web-server bei Hetzner, der aber per direkter ssh
und speziellem Port sonst von überall erreichbar ist.)

Mit folgender Fehlermeldung steigt rsync aus :
"connection unexpectedly closed. error in rsync protocol data stream (code 12) at io.c(454) [sender=2.6.9]"
Und das war's, mehr kommt nicht, was einem direkt weiterhelfen würde.

Hab dann mal das eingebettete ssh auf high verbose gesetzt, ssh -vvvvvvv :
Da kann man einen schön funktionierenden TLS-Handshake beobachten, d.h. keys sind korrekt, (wenn auch
evtl. bald zu erneuern, aber anderes Thema), d.h. Authentifizierung läuft, Verbindung zum Rechner steht.
Die Kombination rsync-over-ssh hat nun wohl viele bekannte Tücken, merkwürdig ist hier nur, dass es im einen Fall
klappt, und im anderen nicht.

Ich habe bereits Hinweise erhalten, dass die Versionen hier eine wichtige Rolle spielen und Konflikte verursachen
können. Jedoch, außer 0.0.2 Versionsunterschied beim Kernel (s.o.), sind die ssh-Komponenten identisch :

rsync 2.6.9-3 prot.29, openSSH 4.3p2-Debian9, openssl 0.9.8e-4 Feb.2007), das übliche halt.

Der $RUSER ( = ssh-rsync) ist chrooted (scponlyc als shell) und mein-rsync-key ist ein DSA-1024 Schlüssel, der sich mit
"ssh-dss ...." identifiziert. Hat interessanterweise nur 650+ bytes.

Was meint ihr, wie man das zum Laufen bringen könnte ? Es soll wohl in der Form schon mal funktioniert haben,
bis zu einem Systemupgrade vor einigen Monaten...

Beste Grüße und auf ein paar Ideen hoffend...(Danke !)

== Newton ==
User avatar
Joe User
Project Manager
Project Manager
Posts: 11183
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: rsync + ssh : "error in rsync protocol data stream"

Post by Joe User »

Mit absoluten Pfaden funktioniert es zumindest unter Gentoo und openSUSE problemlos:

Code: Select all

/usr/bin/rsync ${RSYNC_OPTS} -e "/usr/bin/ssh -p ${REMOTE_PORT}" 
${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH} ${LOKAL_PATH}

BTW: Die Schlüssel sind umgehend zu ersetzen, da bereits mehrere Exploits, insbesondere für SSH, im Umlauf sind.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Anonymous
 

Re: rsync + ssh : "error in rsync protocol data stream"

Post by Anonymous »

Hallo,

ich hatte auch schon die Vermutung, dass die Shell das Kommando nicht richtig parsen kann - daher andere Anführungszeichen,
zusätzliche Leerzeichen usw. probiert. Mit Klammern um die Variablen, wie in deinem Beispiel, kann ich es auch nochmal versuchen.

Was mich aber am meisten irritiert, ist dass dieses Skript für den internen Server funktioniert, (hinter der gleichen vorgeschalteten
Firewall, auf etwas anderem Port) und für den externen Server nicht. Trotz Erreichbarkeit des externen über ssh -p !

Grüße,
== Newton ==