[linux-l] Passwort bei rsync

Lutz Willek lutz.willek at belug.de
Di Okt 4 23:44:23 CEST 2011


Hi,

ich würde es ähnlich zu Marek machen.

Ziel:
1.) Backup von A nach B
2.) Kein direkter root-login

Weg:
Teil 1)
Auf B einen ssh-Schlüssel erzeugen, pub dann root auf A geben.
Damit funktioniert ein rsync von b nach a über ssh und key problemlos, 
Teil 1 wäre erfüllt, genaueres spare ich mir und euch, ist ja simpel.

Teil 2 würde ich über die normalen Schutzmechanismen von ssh abwickeln. 
Konkret zum Nachlesen:
- man sshd_config: PermitRootLogin forced-commands-only
- http://oreilly.com/catalog/sshtdg/chapter/ch08.html

Das ganze findet sich in howto Form zu hunderten im Netz, hier ein 
beliebiges Beispiel raus gepickt:
https://silentorbit.com/notes/2009/07/restricted-backups-using-rsync/

liebe Grüße und viel Spaß Lutz

Am 30.09.2011 14:46, schrieb Marek Froehlich:
> On Thu, Sep 29, 2011 at 10:29:21PM +0200, Boris Kirkorowicz wrote:
>> Hallo,
>> ich möchte per rsync regelmäßig automatisiert Sicherungen machen auf
>> mein NAS. Manuell funktioniert das auch, aber dabei wird stets das
>> Passwort interaktiv angefordert. Wie kann ich das so automatisieren,
>> ohne das Passwort im Klartext im Script ablegen zu müssen? Kann man
>> vielleicht mit Schlüsseln hantieren wie bei ssh?
>>
> Hallo,
>
> habe kuerzlich folgendes Aufgesetzt (Debian/Ubuntu-Server):
>
> backup von A nach B:
>
> - auf B in /etc/ssh/sshd_config "PubkeyAuthentication yes" setzen
>
> - auf B einen backup-account fuer rsync/ssh einrichten:
> root at B:/ useradd --home-dir /home/rbackup --create-home rbackup
>
> - auf B Root-Rechte fuer user rbackup fuer rsync erlauben
> root at B:/ echo "rbackup ALL=(root)NOPASSWD:/usr/bin/rsync">>  /etc/sudoers
>
> - auf B ein Backup-Verzeichnis anlegen
> root at B:/ mkdir /backup
>
> - auf B Verzeichnis .ssh in ~rbackup erstellen
> - wird fuer die authorized_keys benoetigt
> root at B:/ su - rbackup
> rbackup at B:/home/rbackup mkdir .ssh
> rbackup at B:/home/rbackup mkdir chmod 700 .ssh
>
> - auf A als root einen ssh-key erzeugen (ACHTUNG: kein passwort vergeben!)
> root at A:/root/keys ssh-keygen -v -t dsa -f rsync-key
>
> - dann den Inhalt von root at A:/root/keys/rsync-key.pub
>    in              rbackup at B:/home/rbackup/.ssh/authorized_keys
>    einfuegen
>
> - ssh von A nach B ohne Passwort testen
>
> - Rsync von A:/data nach B:/backup
> - in der Datei /root/rsync_exclude_list.txt seien die Verzeichnisse gelistet,
> - fuer die KEIN Backup erfolgen soll (eines pro Zeile)
> root at A:/ rsync -ave "ssh -p 22 -i /root/keys/rsync-key"\
>                 --rsync-path="sudo /usr/bin/rsync\
>                                --log-file=/var/log/rsync-from-A.log"\
>                 --log-file=/var/log/rsync.log\
>                 --stats\
>                 --numeric-ids\
>                 --exclude-from=/root/rsync_exclude_list.txt\
>                 --delete\
>                 /data rbackup at B:/backup
>
> Die Rsync-Optionen bitte zuvor unbedingt in der Man-Page pruefen!
>
>
> Mit freundlichen Gr��en
> Marek Fr�hlich



Mehr Informationen über die Mailingliste linux-l