Wie verwalten Sie SSH-Schlüssel?


15

Ich habe einen Server mit mehreren Benutzern, die jeweils mehrere autorisierte SSH-Schlüssel haben. Gibt es eine effektive Möglichkeit (Befehlszeilendienstprogramm?), Um festzustellen, welcher Schlüssel wem gehört, und um Schlüssel schnell zu entfernen / hinzuzufügen (abgesehen von ssh-copy-id)?


1
Shell-Skripte können einfach die Anmeldezeiten aus Protokollen verfolgen und die Dateien in .ssh bearbeiten ... Ich weiß, dass Sie nicht danach suchen, also ist es ein Kommentar, keine Antwort
— RobotHumans

1
Verwenden Sie den letzten Teil jeder Zeile in .ssh/authorized_keysfür Kommentare (von man sshd: "Öffentliche Schlüssel des Protokolls 1 bestehen aus den folgenden durch Leerzeichen getrennten Feldern: Optionen, Bits, Exponent, Modul, Kommentar. Öffentliche Schlüssel des Protokolls 2 bestehen aus: Optionen, Schlüsseltyp, base64-codierter Schlüssel, Kommentar. "). Und um die Frage zu beantworten, benutze ich vimdoch jeden Editor der das machen sollte.
— Shellholic

Wenn jeder Benutzer über ein separates Benutzerkonto verfügt, ist dies natürlich kein Problem, solange sich alle Einträge im Home-Ordner aller Benutzer befinden (oder tatsächlich in .ssh / authorized_keys, aber trotzdem).
— Olli

@shellholic, du hast eine gute Antwort.
— Veröffentlichen

@djeikyb ok, fertig, aber ich sollte ein bisschen
— fertig sein

Antworten:


3

Sie können den letzten Teil jeder Zeile in .ssh/authorized_keysfür Kommentare verwenden. Von man sshd:

Öffentliche Schlüssel für Protokoll 1 bestehen aus den folgenden durch Leerzeichen getrennten Feldern: Optionen, Bits, Exponent, Modul, Kommentar. Der öffentliche Schlüssel von Protokoll 2 besteht aus: Optionen, Schlüsseltyp, Base64-codiertem Schlüssel, Kommentar.

Und um die Frage zu beantworten, benutze ich vimdoch jeden Editor der das machen sollte.

Meine Kommentare enthalten normalerweise:

  • Erstellungsdatum
  • physischer Standort: Erstellungscomputer / USB-Stick
  • 1-2 Wörter über den Zweck (für welches Login, für welchen Client, für welches Skript)

3

Ich würde das Monkeysphere- Projekt auschecken . Es verwendet die Web-of-Trust-Konzepte von OpenPGP, um die authorized_keys und known_hosts-Dateien von ssh zu verwalten, ohne dass Änderungen am ssh-Client oder -Server erforderlich sind.



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.