Jak zarządzasz kluczami SSH?

15

Mam serwer z wieloma użytkownikami, z których każdy ma wiele autoryzowanych kluczy SSH. Czy istnieje skuteczny sposób (narzędzie wiersza poleceń?), Aby śledzić, który klucz należy do kogo i szybko usuwać / dodawać klucze (oprócz ssh-copy-id)?

Olivier Lalonde
źródło
1
Skrypty powłoki mogą z łatwością śledzić czasy logowania z dzienników i manipulować plikami w .ssh ... Wiem, że nie tego szukasz, więc jest to komentarz, a nie odpowiedź
RobotHumans
1
Użycie ostatniej części każdego wiersza .ssh/authorized_keysjest przeznaczone na komentarze (od man sshd: „Klucze publiczne protokołu 1 składają się z następujących pól oddzielonych spacją: opcje, bity, wykładnik, moduł, komentarz. Klucz publiczny protokołu 2 obejmuje: opcje, typ klucza, klucz zakodowany base64, komentarz. ”). Aby odpowiedzieć na pytanie, używam, vimale każdy redaktor powinien to zrobić.
shellholic
Oczywiście, jeśli każdy użytkownik ma osobne konto użytkownika, nie ma problemu, o ile wszystkie wpisy znajdują się w folderze domowym każdego użytkownika (lub faktycznie w .ssh / uprawnione_klucze, ale w każdym razie).
Olli
@shellholic, masz dobrą odpowiedź. Opublikuj go, aby mógł zostać oznaczony jako taki :)
djeikyb
@ djeikyb ok, gotowe, ale powinienem trochę
ukończyć

Odpowiedzi:

3

Możesz użyć ostatniej części każdego wiersza .ssh/authorized_keysprzeznaczonej na komentarze. Od man sshd:

Klucze publiczne protokołu 1 składają się z następujących pól oddzielonych spacją: opcje, bity, wykładnik wykładnika, moduł, komentarz. Klucz publiczny protokołu 2 składa się z: opcje, typ klucza, klucz zakodowany w base64, komentarz.

Aby odpowiedzieć na pytanie, używam, vimale każdy redaktor powinien to zrobić.

Moje komentarze zwykle zawierają:

  • Data utworzenia
  • fizyczna lokalizacja: komputer do tworzenia / pamięć USB (wolę nie przenosić klucza prywatnego, ale generować / odwoływać je i wiedzieć, gdzie się znajdują)
  • 1-2 słowa o celu (dla którego loginu, dla jakiego klienta, dla którego skryptu)
shellholic
źródło
3

Chciałbym checkout Monkeysphere projektu. Wykorzystuje koncepcję sieci zaufania OpenPGP do zarządzania plikami kluczy autoryzowanych i znanych hostów ssh, bez konieczności wprowadzania zmian w kliencie lub serwerze ssh.

Da1T
źródło