Zusätzlich zu all den vorherigen Antworten, hier eine, die sich auf SSH-Schlüssel stützt, mit Einschränkungen, was getan werden kann, wenn man sich mit diesem Schlüssel anmeldet.
Auf Server A
In diesem Fall ist es weniger wichtig, wenn Sie einen separaten Benutzer erstellen oder einen Ihrer vorhandenen Benutzernamen verwenden. Wenn ich es wäre, würde ich jedoch einen separaten Benutzer erstellen. In den folgenden Beispielen verwende ich den Benutzernamen bkpuser
für beide Server.
Wenn Sie angemeldet sind bkpuser
, erstellen Sie einen SSH-Schlüssel ohne Passwort.
Auf Server B
Aktivieren Sie PubkeyAuthentication
in sshd_config
.
Erstellen Sie den Benutzer bkpuser
. Legen Sie ein sehr kompliziertes Kennwort fest oder deaktivieren Sie die Kennwortanmeldung für diesen Benutzer (genau wie Sie dies tun, hängt davon ab, welches Unix und welche Distribution Sie ausführen). Der Benutzer sollte sich nur mit einem SSH-Schlüssel anmelden. Stellen Sie sicher, dass bkpuser
Lesezugriff auf alle Verzeichnisse und Dateien besteht, die Sie sichern möchten.
Kopieren Sie den öffentlichen Teil des Schlüssels, der von A nach ~bkpuser/.ssh/authorized_keys
B erstellt wurde. Bearbeiten Sie das Kontrollkästchen, um einen Befehl beim Herstellen einer Verbindung automatisch auszuführen. Dieser Befehl sollte kein Zeiger auf ein Shell-Skript sein. Fügen Sie stattdessen das Shell-Skript direkt in den Schlüssel ein. Schließen Sie auch eine Einschränkung ein, damit der Schlüssel nur von Server A und keinem anderen Server verwendet werden kann. Im folgenden Beispiel gebe ich Server A die IP-Adresse 10.1.2.3
und gehe davon aus, dass sich alle zu sichernden Dateien darunter befinden /data
.
from="10.1.2.3",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="cd /data;/usr/bin/tar -cf - *; /usr/bin/logger -t BACKUP -p daemon.info \"INFO: Backup-files on $HOST fetched from ${SSH_CLIENT%% *} by $USER\";" ssh-dss AA.....
Auf Server A
Wenn Sie eine der Cron-Registerkarten verwenden, die @reboot
Einträge unterstützt , fügen Sie einen solchen Eintrag bkpuser
mit dem Befehl zu s crontab hinzu ssh -i ~bkpuser/.ssh/id_dsa serverB > backup.tar.gz
. Wenn dies nicht möglich ist, können Sie es jederzeit einstellen. Wenn es meine Daten wären, würde ich es wahrscheinlich täglich tun.