[linux-l] Passwort bei rsync

Marek Froehlich marek at samweis.in-berlin.de
Mi Okt 5 08:18:03 CEST 2011


On Wed, Oct 05, 2011 at 12:26:44AM +0200, Lutz Willek wrote:
> Am 02.10.2011 11:31, schrieb Marek Froehlich:
> 
> > ... Wir können ja
> > Verbesserungsvorschläge sammeln und Volker "spielt" den
> > boesen root-admin auf A, der schlimme Dinge auf B mit rsync
> > anstellen will ;-)
> 
> Ich will mitspielen! Au fein ja Volker lass uns spielen!
> Das Ergebnis passt dann sicher noch auf eine Seite auf meinen 
> ssh-Vortrag; da fällt mir ein den wollte ich ja noch online stellen...
> 

Hallo,

hier mal die ersten beiden Verbesserungsvorschläge:

Vorschlag von Lutz: rsa-key mit grösserer Schlüssellänge verwenden
- auf A als root einen ssh-key erzeugen:
root at A:/root/keys ssh-keygen -t rsa -b 2048 -f rsync-key
- dann den neuen public key in
rbackup at B:/home/rbackup/.ssh/authorized_keys einfügen

- dann auf A einen "Trockenlauf" von rsync mit verbose-Option für ssh
ausführen:
root at A:/ rsync --dry-run -ave "ssh -v ..." ...

In der Debug-Ausgabe von ssh sieht man dann das erzeugte
remote-rsync-Kommando.
Genau auf dieses remote-rsync-Kommando nageln wir rbackup at A fest:

- auf B (remote) in /home/rbackup/.ssh/authorized_keys den Eintrag
mit dem Public-Key von rbackup at A ergänzen um:

command="sudo /usr/bin/rsync --log-file=/var/log/rsync-from-A.log --server -vlHogDtprz --delete --numeric-ids . /backup",no-pty,no-agent-forwarding,no-port-f

Das ganze VOR dem bestehenden Key als Einzeiler mit einem Leerzeichen
als Trenner einfügen, also etwa so:
command="sudo ...",no-...,no-port-forwarding ssh-rsa AAA...

Lustigerweise wird in diesem Fall auf Server B genau das command="..."
ausgeführt, das Kommando von Client A wird ignoriert (man 5 authorized_keys).

In der Manpage von authorized_keys finden sich auch die Beschreibungen
zu den ergänzten no-Optionen.
Sinnvoll wäre wahrscheinlich auch ein 'from="a.b.c.d"' mit der IP-
Adresse des Client A, falls der Cilent-Private-Key mal gestohlen wird.

> > Ein alternativer Ansatz wäre ein rsync-Daemon auf B laufen
> > zu lassen - pruefe ich auch mal.
> >
> >> Hat diese Konstruktion irgendeinen Vorteil gegenüber dem
> >> Eintragen des SSH-Keys direkt für den Root-Account?
> 
> Ja, Du machst es Volker viel leichter :)

verstehe ich nicht.

Marek Fröhlich



Mehr Informationen über die Mailingliste linux-l