[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

rsync-auth und ssh-tunnel will nicht



Backup eines Windows-Rechners mit RSYNC und SSH und
ein Problem mit der Authentifizierung

Für das Backup verwenden wir cwRsync und copssh von Itefix
für Windows und auf dem Backup-Server wird Linux mit
Rsync und OpenSSH eingesetzt. Alles die aktuellsten
stabilen Versionen.

Vorab sei bemerkt: zwischen den Rechnern kann mit
Rsync kopiert werden, mit Rsync-Serverdienst (daemon) auf
dem Windows-Rechner. Es funktioniert auch die SSH-Kommunikation.
Aber aufgrund eines Bugs in der Windows-Version von SSH,
die von cygwin und von copssh (itefix) eingesetzt wird, müssen
wir eine Variante über einen SSH-Tunnel wählen, wenn über das
Internet kopiert wird (und kein VPN da ist). Wichtig ist auch,
dass der Betrieb automatisiert verläuft. Also fallen alle
Lösungen weg, die einen Benutzereingriff erfordern.
Außerdem ist eine Bedingung, dass der Backup-Server die
*Daten vom Windows-Rechner holt* und nicht umgekehrt Daten
gesendet bekommt.

Wir öffnen einen SSH-Tunnel mit:

ssh -L 4711:localhost:873 -i sshPrivKey backup@192.168.100.19

sshPrivKey ist ein gültiger Private-Key für den Benutzer backup.
Der Public-Key ist auf 192.168.100.19 installiert und der SSH-
Tunnel wird auch korrekt aufgebaut (man erhält eine Shell
auf dem Zielsystem). Wenn die ssh-Parameter -f -N hinzugefügt 
werden, läuft der Tunnel auch schön im Hintergrund.

Ich hatte das System erfolgreich getestet. Mit

rsync -r -t rsync://localhost:4711/testshare /tmp/ws19/

wurden die Daten der Rsync-Freigabe "testshare" nach /tmp/ws19/
kopiert.

Erforderlich ist hierzu der Betrieb eines Rsync-Serverdienstes
auf dem Windows-Rechner. Um diesen einigermaßen abzusichern,
wird dort "auth users" und "secrets file"
in der rsyncd.conf eingesetzt:

    auth users = backup
    secrets file = rsyncsecrets

(in rsyncsecrets stehen "benutzer:passwort" in Klarschrift).

Das rsync-Commando erhält noch die Option:
--password-file=winRsyncPW

(aber es geht zum testen auch mit Passwort-Eingabe auf der
Kommandozeile) und schon geht es nicht mehr.
Es erscheint die Meldung

@ERROR: auth failed on module testshare
rsync: connection unexpectedly closed (92 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(342)

auf dem Linuxserver und die Meldung:

127.0.0.1 is not a known address for "pcname": spoofed address?
auth failed on module testshare from unknown (127.0.0.1)

Die erstere Zeile erscheint bei mir nur auf dem Windows-2000-Server
der eine FAT32-Partition hat. Auf dem Windows-XP-Prof. Rechner
kommt nur die untere Fehlermeldung.

Auf dem FAT-System sind die Dateien immer world-readable, deshalb
habe ich hier "strict modes" auf false gestellt.

Und wieder zurück: sobald ich den Eintrag "auth users = backup"
entferne, funktioniert alles.

Kennt sich jemand damit aus?

Manfred
 



Reply to: