Backup zu Synology mit rsync, SSH und einem YubiKey

Synology Datensicherung mit rsync und SSH

Das Ziel ist es von einem Linux-Client aus alle Daten eines bestimmten Verzeichnisse auf unser Synology NAS zu synchronisieren und dort als eine Art Backup vorzuhalten.

Am einfachsten Funktioniert das unter Linux mit rsync. In einem meiner letzten Beiträge habe ich beschrieben, wie eine Datensicherung auf das openmediavault aussehen könnte. Die Idee nutze ich nun weiter, um auch eine Sicherung auf das Synology NAS zu übertragen. Es gibt jedoch einen gravierenden Unterschied, das Synology-Backup-Verzeichnis wird nicht mit cifs auf dem Client als Laufwerk eingebunden, sondern ich greife auf einen bereits ausgetauschten SSH-Schlüssel zurück, genauer gesagt nutze ich einen YubiKey, um die SSH-Verbindung aufzubauen.

Der Vorteil bei dieser Methode ist ganz klar, dass auf meinem Client kein privater SSH-Schlüssel abgespeichert sein muss, sondern der nur auf meinem YubiKey liegt. Ist der Hardwaretoken nicht am Client angeschlossen, ist ein Verbindungsaufbau zur Synology nicht möglich.

Die Anleitung zum Einrichten gibt es hier. ➡ Passwortlose SSH-Anmeldung mit SSH-Schlüsselpaar oder YubiKey am Synology NAS

Voraussetzung für das Ganze Setup ist also eine bereits funktionierende Verbindung zu unserem Synology NAS mit dem YubiKey und SSH.

Yubico - YubiKey 5C NFC - Two Factor Authentication USB...
Yubico Y-291 Yubikey 5Ci Schwarz

Im nächsten Schritt ist auf dem NAS ein neuer Ordner für das Backup unseres Linux-Clients anzulegen. Ich habe dazu einfach für meinen Benutzer einen neuen Ordner in dessen Home-Verzeichnis angelegt. Der Ordner kann auch irgendwo anders erstellt werden. Voraussetzung ist aber, dass unser Benutzer dort Schreibrechte hat. Möchtet ihr einen anderen Benutzer verwenden, dann ist für diesen der SSH-Schlüssel auszutauschen. (siehe Link auf den Artikel oben)

Auf der Synology ist dann noch das rsync-Protokoll zu aktivieren, was in den Einstellungen auch gleich erledigt ist.

Synology rsync
Synology rsync

Anschließend kann es mit dem Sync auch schon losgehen.

Auf dem Client soll der Ordner /home/benutzer/Downloads übertragen werden.

Der Zielordner auf der Synology ist im Verzeichnis /var/services/homes/benutzer/Drive/Backup/test zu finden.

rsync -avn -e 'ssh -p 22' /home/benutzer/Downloads benutzer@192.168.2.123:/var/services/homes/benutzer/Drive/Backup/test

Wer für SSH einen anderen Port für den rsync vergeben hat, muss unbedingt die Option ssh -p verwenden. Die Zahl ist dann gegen den jeweiligen Port zu ersetzen.

Zum Schluss einfach den Befehl in das Terminal eingeben, den YubiKey anschließen und schon läuft der Sync mit rsync.

Das Ganze lässt sich auch wieder in ein Skript einbauen. Dazu ist einfach die Vorlage aus dem oben verlinkten Artikel zu verwenden und anzupassen.

Irgendwie hat es bei mir nicht funktioniert das --backup-dir=${BACKUPDIRECTORY} zu nutzen. Es kam ständig der Fehler. Wenn jemand eine Lösung hat, bitte her damit! 🙂

rsync: delete_file: make_backup(datei) failed: Permission denied (13)
...
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender=3.2.3]
Angebot Synology DS218 2-Bay-Desktop-NAS-Gehäuse
Angebot WD Red 1TB 3.5' NAS Interne Festplatte - 5400 RPM -...

Photo by Claudio Schwarz on Unsplash

(**) Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.