ssh-Key in der eigenen Nextcloud speichern?

  • Selbstverständlich geht es hier ausschließlich um meine privaten Sachen - im professionellen Einsatz kommt so etwas auf keinen Fall in Frage für mich.

    Das ist so eine Frage, die mich seit längerem beschäftigt - ich mag ja die ssh-Anmeldung mit nur Username + Passwort gar nicht, ich bin ein Fan davon, einen ssh-Key zu verwenden. Bei Hetzner kann ich das ja zum Glück immer sofort angeben.

    Die Frage ist aber: wie hole ich mir den auf meine Geräte? Ich habe 3 Maschinen (Notebook, PC, Raspberry Pi) im Einsatz, von denen aus ich immer wieder auf meine Cloud-Systeme zugreifen möchte.

    Was denkt Ihr über die Idee, daß ich meinen ssh-Key auf meinem Nextcloud-Server speichere und von dort synchronisiere?

    Software-Engineer (C#.NET), Linux-Fan seit '94. Renewable Energy-Evangelist beruflich wie privat.Cloud Native.

    Notebook: XMG Neo 15 5900HX / 3080 Mobile / 32 GB RAM / 2x Samsung 970 EVO Plus 1TB auf Ubuntu 22.10


    PC: 5950X / 3090 / 32 GB RAM / 2x Samsung 970 EVO Plus 1TB auf Windows 11 + Ubuntu 22.10

    2x Raspberry Pi 4 8 GB mit Raspi OS 64 Bit

  • Wenn ich zwischen zwei Rechnern mal eben etwas kopieren möchte, dann starte ich temporär den SSH-Server und kopiere mit scp (secure copy).

    Code
    # SSH-Server am Zielrechner starten
    systemctl start sshd
    
    # Quelle --> Ziel
    scp test.txt USER@ip-adresse:/home/USER/
    
    # oder ein Verzeichnis (rekursiv)
    scp -r MeinOrdner USER@ip-adresse:/home/USER/

    Einmal editiert, zuletzt von Sojan (3. Dezember 2022 um 12:28)

  • pelletsburner genau so mache ich es. Auf meiner privaten selbst gehosteten Nextcloud liegen für mich natürlich auch meine ssh-Keys. Wie auch etliche andere Schlüssel und Seriennummern.

    Diese ist so gut es geht abgesichert. Ich kann jederzeit sehen wann und wie drauf zugegriffen wurde, also wenn nicht dort, wo dann.

  • Und wenn du den public key der einzelnen Geräte einfach dort speicherst? Dann kann im Fall der Fälle nichts passieren. Und diese liest du dann mit dem Server ein und fügst sie unter den erlaubten hosts hinzu. So verlassen deine privaten Keys nie ihre Geräte. Vorteil wäre zudem, dass wenn ein Gerät kompromittiert wird, nur dieses aus der hosts entfernt werden muss und nicht gleich alle, die sich einen privaten Key teilen.

    💾 AMD EPYC 7452 (8 Cores) 40GB | 💾 Unraid Homeserver i5-4570 16GB

    💻 Ryzen 9 7900X RX7800XT 32GB | 💻 MacBook Pro M2Pro 32GB

    EndeavourOS <3

  • Was bringt dir denn der public key der Geräte auf der Nextcloud? Der ist doch irrelevant bei der Sicherung.

    Na OP hat ja nicht von der Sicherung gesprochen, sondern davon, den Key auf alle Geräte zu bringen. Er will also syncen, um den privaten Key auf allen Geräten zu haben. Das halte ich für bedeutend unsicherer. Besser finde ich es, da einfach den public key zu verteilen und dann diese mit dem Server einzulesen.

    Also das Pferd von hinten aufgezogen (oder eigentlich eher von vorne..). Statt den privaten Key mehr oder weniger öffentlich über das Internet zu teilen und dann auf den Clients zu installieren, teilt man die public keys der Clients und teilt diese dem Server mit.

    Ich sehe einfach keinen Vorteil - außer vielleicht Bequemlichkeit/Routine/etc - darin, einen einzelnen privaten Key mehrfach zu nutzen und zu teilen, statt einfach mit mehreren public zu arbeiten.

    💾 AMD EPYC 7452 (8 Cores) 40GB | 💾 Unraid Homeserver i5-4570 16GB

    💻 Ryzen 9 7900X RX7800XT 32GB | 💻 MacBook Pro M2Pro 32GB

    EndeavourOS <3

  • Besser finde ich es, da einfach den public key zu verteilen und dann diese mit dem Server einzulesen.

    Zur Authentifizierung gegenüber einem anderen Gerät benötigst du doch den privaten Key?

    Also quasi so: Client(priv) -> Server(pub)

    Mir wäre nicht bekannt, dass es andersherum geht Client(pub) -> Server(priv)

    Ich kenne es auch nur so das man sich einen (persönlichen) Key erstellt und diesen dann überall nutzt.

    Rollenspiel.Monster -Deine Fediverse Rollenspiel Nodes

    GPG

    System: TUXEDO Aura 15 - Gen1, AMD Ryzen 7 4700U, 32GB RAM, 1TB M.2 SATAIII, EndeavourOS(Gnome[Wayland])

  • Zur Authentifizierung gegenüber einem anderen Gerät benötigst du doch den privaten Key?

    Also quasi so: Client(priv) -> Server(pub)

    Mir wäre nicht bekannt, dass es andersherum geht Client(pub) -> Server(priv)

    Ich kenne es auch nur so das man sich einen (persönlichen) Key erstellt und diesen dann überall nutzt.

    Ich glaube du verstehst mich hier irgendwie falsch. Ich habe doch gar nicht vor, es anders herum zu machen. Public keys mit dem Server zu teilen ist doch das normale Vorgehen. Nochmal: op möchte private keys mehr oder weniger öffentlich ablegen und dann an die Clients verteilen. Davon habe ich abgeraten und stattdessen vorzuschlagen, die public keys der Clients zu teilen und dann auf dem Server hinzuzufügen.

    Der Server hat dann also in seiner authorized_keys die Einträge (beispielhaft) client1_pub, client2_pub, client3_pub

    Wieso sollte man private keys öffentlich teilen, wenn man einfach die public teilen und dem Server zukommen lassen kann?

    💾 AMD EPYC 7452 (8 Cores) 40GB | 💾 Unraid Homeserver i5-4570 16GB

    💻 Ryzen 9 7900X RX7800XT 32GB | 💻 MacBook Pro M2Pro 32GB

    EndeavourOS <3

  • Den Umweg über die Nextcloud, um den Public Key dann irgendwie auf den Zielrechner zu bekommen, finde ich doch arg umständlich.

    Für diesen Fall hat ssh doch schon das geeignete Werkzeug an Bord.

    ssh-copy-id -i ~/.ssh/Schlüsseldatei  benutzer@zielserver

  • Damit kopiert man doch nur den public key auf den "Server", ich hätte den TE so verstanden, dass er seinen privat Key auf mehrere Clients verteilen will.

    Rollenspiel.Monster -Deine Fediverse Rollenspiel Nodes

    GPG

    System: TUXEDO Aura 15 - Gen1, AMD Ryzen 7 4700U, 32GB RAM, 1TB M.2 SATAIII, EndeavourOS(Gnome[Wayland])

  • Damit kopiert man doch nur den public key auf den "Server", ich hätte den TE so verstanden, dass er seinen privat Key auf mehrere Clients verteilen will.

    Klar, im ersten Schritt kopiere ich den Public Key(s) mit ssh-copy-id auf den Server und im nächsten Schritt verteile ich mit scp die Private Keys auf die Clients.

Jetzt mitmachen!

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