SSH automatisiert Server zu Server

  • Ich möchte von meinem Debian Server täglich eine SSH Verbindung zu einer Synology NAS in meinem Netzwerk und zu einer Hetzner Storagebox aufbauen, um Borgbackups darüber laufen zu lassen.

    Das ganze funktioniert, indem ein Skript per Timer ausgeführt wird. Das läuft also auf der Debian Maschine über root.

    Jetzt führen wahrscheinlich viele Wege ans Ziel. Momentan probiere ich das ganze erst mal mit der NAS aus. Folgendes habe ich getan und das scheint erst mal zu funktionieren, aber vlt. gehts ja besser.

    1. Auf dem Debian Server als root mit ssh-keygen -b 4096 ein Schlüsselpaar mit Passwort erzeugt.
    2. Den Public Schlüssel rüber an die Nas geschickt und mich angemeldet.
    3. Manuell ssh-agent gestartet und mit ssh-add den Schlüssel zugefügt.

    Jetzt kann ich mich als root ohne Passwort anmelden. Aber bei einem reboot muss ich wohl 3. wiederholen. Vlt. hätte ich das auch ohne Passwort machen können? Aber das wäre evtl. unsicherer als mit dem 24/7 ssh-agent. Keine Ahnung. Vlt. habt ihr da ein Feedback.

  • Habe kein Synology NAS, aber ich nehm mal an, ich kann das als Linux System mit hoffentlich viel Plattenplatz betrachten. Kenne auch nicht Borg, gerade mal ein wenig gelesen...

    Wenn ich dich recht verstehe willst Du als Test erstmal irgendwelche Daten von Deinem Server auf das NAS per Borg sichern. Das NAS hat borg installiert und ist quasi borg server, und dein server is borg client und stoesst das backup periodisch an.

    So wie ich das sehe willst Du Dich hieran orientieren:

    https://borgbackup.readthedocs.io/en/1.1-maint/d…kup-server.html

    Bevor Du DIch da um Borg kuemmerst setzt Du einfach SSH so auf das Du von Deinem Server ein ssh auf das NAS machen kann ohne password eintippen zu muessen. Dazu musst Du einfach von dem Benutzeraccount unter dem Du auf dem Server borg laufen laesst den public key in die .ssh/authorized_keys von dem backup benutzer auf dem NAS machen. Danach einfach ssh backupuser@NAS probieren bis das ohne passwort geht.

    Wenn das geht dann einfach nach der URL weitermachen, aka: da setzt du in der .ssh/authorized_keys datei auf dem NAS das magische kommando von bord davor so das da keine shell gestartet wird, sondern das "borg serve" kommando.

    Danach solltest Du dann mit den passenden borg kommandos auf dem Server backups anstossen koennen, halt mit url backupuser@NAS:/...

    Kapiere im Moment nicht genu wie das mit Backup/Restore von multi-user attributen geht, ich denke aber mal es ist am sichersten den borg client auf dem Server als root laufen zu lassen.

    Das mit dem ssh-agent hab ich nicht kapiert und deswegen nicht voll gelesen. glaube das brauchst du nicht.

  • Wie ich dann mit borg weiter mache, weiß ich schon ;).

    Die Einrichtung von ssh habe ich ja, wie beschrieben auch schon hinbekommen. Weil ich dem ssh key aber eine Paraphrase gegeben habe, wird natürlich trotz erfolgreicher Eintragung in die authorized keys nach der Passphrase gefragt, jedes mal.

    Das kann ich durch den ssh-agent auf eine einmalige Eingabe reduzieren. Aber das heißt nach jedem boot muss ich im Server
    eval 'ssh-agent'
    ssh-add
    machen und die Passphrase eingeben, damit meine Skripte ungestört laufen.

    Die Alternative wäre, ich mache einfach neue Keys und vergebe keine Paraphrase. Das wird aber als unsicher bezeichnet, weil man wirklich nur den privaten Key braucht.

    Auf der anderen Seite kann jemand, der an root kommt, auch durch den ssh-agent an den Zugang kommen. Das ist dann auch nicht sicherer, als wenn der Key gar keine Paraphrase hätte.

    Ich hoffe, dass ist klarer geworden.

  • Jo, wenn Du das automatisierst, dann liegt die passphrase zum starten des ssh-agent irgendwo auf der platte in cleartext, da muss der hacker dann diese datei finden und den private key um dann den private key zu entschluesseln. Ich glaube wenn ein hacker bei mir auf den rechner kommt dann ist das klauen des private keys um auf den backup-server zu kommen nicht notwendigerweise das groesste problem. Aber klar, man kann da szenarien ausdenken.

    Um den Klau des private key zu verhindern ist die offizielle methode halt das du ein TPM verwendest. Ist halt bloss anscheinend ziemliches gepfriemel den TPM support ins SSH reinzukompilieren, zumindestens nach kurzem googlen. Damit muss dann jeder angriff direkt durch die Hardware deines Servers durchgehen, der private key kann also bloss durch klau deines PCs geklaut werden.

  • Ich hab jetzt einfach das Passwort entfernt.

    Musste noch mein Borg Skript für den Server mit meinen Erkenntnissen aus der Einrichtung des USB-Backups upgraden.
    Gerade läuft der erste run.

    Bin mal gespannt, was morgen früh passiert, wenn das Backup noch läuft, aber der systemd timer das noch mal starten will. Wenn ich es richtig verstanden habe, passiert da nichts, weil der service selber noch läuft.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!