PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Backup mit rsync - Probleme mit Passwortabfrage



Imagine
24.06.07, 20:09
Hallo und guten Abend!

Ich zerbreche mir jetzt bereits seit einigen Tagen immer wieder den Kopf, wie ich einen Server übers Internet mit rsync und ssh automatisch sichern kann.
Dazu verwende ich in einem Script, das dann per Cronjob automatisch ablaufen soll, den rsync-Befehl.

rsync -avz -e ssh --delete IP-Adresse-Zusichender_Server:/home/ /home/rsync-backup/backup.0

Die Sicherung läuft auch ganz gut, nur muss nur jedes Mal das SSH-Passwort eingeben und das macht bei einem Cronjob wenig Sinn.

Ich habe für den Benutzer rsync-backup mit

ssh-keygen -t rsa

einen Key ohne Passwort angelegt und mit

cat .ssh/id_rsa.pub | ssh IP-Adresse-Zusichender_Server "cat >> .ssh/authorized_keys"
auf den zusicherenden Server kopiert - beide Server haben den gleichen Benutzer rsync-backup.
Aber ssh verlangt immer noch das Passwort des Benutzers rsync-backup beim Scriptstart.
Ich habe es auch bereits mit der Option "--password-file=" versucht

rsync -avz -e ssh --password-file=.ssh/id_rsa.pub --delete IP-Adresse-Zusichender_Server:/home/ /home/rsync-backup/backup.0
aber irgendwie bekomme ich die sichere Verbindung nicht ohne Passwortabfrage hin.

Weiss jemand unter Euch, wie das zu konfigurieren ist?

Vielen Dank!

Imagine

markeese
24.06.07, 20:21
Hat Dein Key auch wirklich den default Name (id_rsa.pub) ?
Ich hatte das gleiche Thema, habe auch mit 'keygen' eine Schlüssel generiert und eben einen eigenen Namen für die .pub vergeben. Damit hatte ich dann auch das gleiche Problem. Mit dem Default-Namen hat es aber geklappt.

Gruß
Markus...

cane
24.06.07, 21:34
Ist der SSHD korrekt konfiguriert?

Am besten nach einem der vielen HowTos vorgehen...

mfg
cane

Imagine
24.06.07, 22:33
Upps,

das ist eine gute Frage:

Hat Dein Key auch wirklich den default Name (id_rsa.pub) ?


Ich nehme mal an, ja. Denn

ssh-keygen -t rsa
gibt mir die Abfrage

Enter file in which to save the key (/home/rsync-backup/.ssh/id_rsa):
aus. Und da ich nur Enter mache, erzeugt das Programm auch nur die zwei Dateien id_rsa und id_rsa.pub in .ssh.

An sich bin ich genau nach dem HowTo vom Peer Heinlein vorgegangen:
Backup_via_Rsync (http://rootwiki.unixfreunde.de/index.php/Backup_via_Rsync)

Aber das mit dem SSHD checke ich morgen mal, vielleicht stimmt das etwas nicht. Gute Idee.

Nur Eines verstehe ich nicht ganz. Bei der Option "--password-file=" welches Passwortfile nehme ich da, wenn ich den Job auf dem Backupserver starte und die die Quellverzeichnisse auf dem entfernten Server liegen? Laut dem Howto s.o. liegt die "authorized_keys" meines lokalen Schlüssels auf dem Remoteserver, aber eigentlich muss der mir den Zugriff erlauben. Also müsste die authorized_keys des Schlüssels des Benutzer auf dem Remoteserver hier lokal auf der Sicherungsmaschine liegen.
Das hatte allerdings auch nichts geholfen.
Also ich schau mal, was sich mit der SSHD-Konfiguration aus sich hat.

Grüsse

Imagine

marce
25.06.07, 01:01
was passiert denn, wenn Du dich mit dem Benutzer per ssh auf dem anderen Rechner anmelden willst? Kommt dann auch eine PW-Abfrage oder nicht?

Läuft der Cron-Job auch wirklich unter dem richtigen User?

Evtl. mal probieren, den Schlüssel per ssh-copy-id neu übertragen, evtl. stimmt was mit den Dateirechten der authorized_keys nicht (z.b. 644 stat 600 - müsste dann im Logfile des Zielrechners stehen)

Imagine
25.06.07, 09:56
Wie ich bereits sagte, ich erhalte die Passwortabfrage. Ergo habe noch gar keinen Cronjob gestartet, denn solange das händisch mit dem Passwort nicht klappt, macht das keinen Sinn.

Aber cane hat mich jetzt erstmal auf etwas gebracht, das ich abchecken will - ssh-copy-id habe ich in diesem Zusammenhang auch schon gesehen. Dann melde ich mich wieder. Ich vermute nämlich, dass ich am sshd etwas einstellen muss.

Grüsse

Imagine

marce
25.06.07, 10:06
Überprüfe auch auf jeden Fall mal die Rechte von der authorized_keys - sie muss 600 sein und mit der Methode, mit der Du die Datei erzeugt hast (so sie vorher nicht vorhanden war) dürfte sie 644 sein...

http://www.openssh.org/faq.html#3.14

Imagine
25.06.07, 10:27
Du hast Recht, marce! Ich habe meinen Fehler gerade geoutet.
Ich bin nach dem HowTo vom Heinlein s.o. vorgegangen. Gerade habe ich unter linuxwiki.de/OpenSSH (http://linuxwiki.de/OpenSSH#head-86444ccc8e24324ea007bad07817facab9f96c5a),
sensiblisiert durch Deinen Hinweis auf 600-Rechte, gesehen, dass ich in der Übergabe des Schlüssels etwas vergessen hatte.


ssh remoteuser@remotehost.example.net "umask 077; cat >> .ssh/authorized_keys" <.ssh/id_rsa.pub


Ich habe das umask 077 nicht mitgeschickt. Das war mein ganzes Problem. Jetzt läuft die Anmeldung Remote auch ohne Passwort.

Der Rest ist jetzt Anpassen des Scriptes und das Tunen des Backups.

Also vielen Dank für Euere unterstützenden Gedanken, die mich auf die Lösung gebracht haben!

Grüsse

Imagine

marce
25.06.07, 10:47
deswegen hat man ja auch das ssh-copy-id erfunden - das macht das alles automatisch richtig.

Aber wunderbar dass es jetzt läuft... - schau aber doch trotzdem mal nach, ob der Fehler als solcher auch im Logfile autrat, da müsste er nämlich auch drinstehen, sogar mir recht eindeutiger Problembehebungsanweisung...

Imagine
25.06.07, 12:49
Stimmt, in der /var/log/auth.log stehen die ganzen Failures drinnen.

vanessa
09.08.07, 17:11
was mir noch aufgefallen ist, in dem von dir erwähnten tutorial heisst die datei "authorized_keys2", also eine 2 am ende. bei dir heisst die datei aber, wenn ich das richtig überflogen habe nur "authorized_keys", also ohne eine 2 am ende.

gruss