Rsync Backup – Windows zu FreeNas mit SSH und Keyfile

Ich habe mir zu Hause eine FreeNas mit einem ZFS-Pool zusammengestellt mit einem Raid-5 aus 3 x 500GB SATA-Festplatten, das Ding rennt wie sau und ist echt super. Dann habe ich mir gedacht wie könnte ich von meinem Windows-Server ein automatisches Backup bestimmter Files auf die FreeNas über eine verschlüsselte Verbindung schieben. Mit Rsync und SSH hatte ich schon mehrfach zu tun, aber noch nicht das ganze mal auf einer Windows-Kiste zu testen.

Dadurch entstand dieser Artikel.
Also rauf auf die FreeNas und folgendes eingestellt:


TCP Port ändere ich auf einen anderen aus Sicherheitsgründen.

Erstellen eines Schlüssel für SSH damit die Sicherheit noch weiter erhöht wird und wir kein Passwort eintippen müssen, sehr gut
für später um das ganze besser zu automatisieren

  • Also mit z.B. mit Putty rauf die FreeNas und darauf achten im Putty auch den Port wie oben anzupassen.
  • Keypair erstellen mit:
    ssh-keygen -t das
    Alles mit Enter bestätigen und keine Passphrase eingeben.
  • Unter /root/.ssh/ solltet Ihr dann zwei Dateien sehen
    • Id_dsa        (Private Key)
    • Id_dsa.pub    (Public Key)
  • Den private Key verschiebt Ihr auf einen Ort auf der FreeNas um auf Ihn zugreifen zu können
    z.B. mv id_dsa /mnt/test
    /mnt/test dann per Samba-Share freigeben und die Datei auf euren Rechner verschieben.
  • Damit dieser dann auch funktioniert, müssen wir noch den Public-Key für SSH freigeben, ich mache das folgendermaßen:
    cat id_dsa.pub >> authorized_keys
  • Mit dem private Key könnt Ihr dann auch eine Putty-Session aufbauen ohne das Passwort eingeben zu müssen, dazu
    müsst Ihr aber noch über z.B. Puttygen.exe den Key in eine leserliche Form für Putty exportieren.
  • Ihr solltet dann noch unbeding auf der FreeNas in den SSH-Optionen den Punkt „Passwortauthentifizierung“ dekativieren damit man nur noch
    mit dem passenden Keyfile reinkommt.

Wenn das erledigt ist schaltet Ihr den Port 55022 für SSH an eurer Firewall/Router für das Internet frei, in meinem Fall ist es eine AVM Fritz.Box.

Jetzt müssen wir zu dem Windows-Server

  • Für meine Zwecke habe ich mit cwRsync experimentiert und das funktioniert wunderbar, also dies mal bitte auf dem
    Server downloaden und installieren, wenn’s geht in einen Pfad ohne Leerzeichen, erleichtert dann das Erstellen einer passender Bat.
  • Auch der private Key der FreeNas muss auf den Server kopiert werden, am besten legt Ihr ihn auch in das Verzeichnis von cwRsync
  • Dann erstellen wir eine Bat die uns ein Verzeichnis auf dem Windows-Server auf die FreeNas syncronisiert:
    D:\cwRsync\bin\rsync.exe -vrz –chmod=ugo=rwX -e ‚D:\cwRsync\bin\ssh -p 55022 -i D:\Skripte\freenas.ppk‘ /cygdrive/D/ Backup/ root@MeineDyndnsAdresse:/mnt/test/Backup

  • Zur Erläuterung:

    • Ich habe cwRsync in dem Ordner D:\cwRsync\ installiert, deshalb D:\cwRsync\bin\rsync.exe

    • –vrz sind die Optionen für Rsync, näheres könnt Ihr in der ManPage nachlesen

    • –chmod=ugo=rwXrwX passt die Rechte im Ziel an damit ich später z.B. per Samba-Freigabe drauf komme ohne über Putty oder Cronjob die Rechte
      ändern zu müssen.

    • -e ‚D:\cwRsync\bin\ssh -p 55022 -i D:\Skripte\freenas.ppk‘
      Damit sagen wir Rsync es soll über SSH den Port 55022 mit dem private Key „freenas.ppk“ eine Verbindung herstellen

    • /cygdrive/D/ Backup/
      Ist auf Windows der Pfad zu D:\Backup\, muss so für Rsync geschrieben werden da es aus der Linux-Welt kommt

    • root@MeineDyndnsAdresse:/mnt/test/Backup
      Der Zielordner auf dem Zielgerät, zudem die Dateien geschoben werden sollen.

Sodala das sollte es schon gewesen sein, wenn Ihr jetzt das Erstemal die Bat ausführt und alles richtig gemacht habt sollte eine Abfrage kommen ob Ihr den „Key“ in de Registry eintragen wollt, das bestätigt Ihr mit „Yes“.
Bei weiteren Aufrufen wie z.B. Taskmanager kommt diese Abfrage nicht mehr.

Also dann, fröhliches Backupn.
Falls Fehler drin sind, einfach mal nen Kommentar rein dann schaue ich mir das nochmal an. Natürlich, wie immer, übernehme ich für nix eine Haftung, also
ist es sinnvoll sich selbst in das Thema ein zu lesen um es noch besser zu verstehen und auch besser zu machen.

Ein Gedanke zu „Rsync Backup – Windows zu FreeNas mit SSH und Keyfile“

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.