Metoda wycofania klucza SSH Paruj lokalnie

10

Od jakiegoś czasu używam moich kluczy ssh. Zastanawiam się nad aktualizacją mojej pary kluczy ssh do silniejszego szyfrowania i nie znam wszystkich urządzeń, na których moje klucze są zarejestrowane.

Czy jest możliwe lokalne wycofanie” klucza SSH lokalnie, aby otrzymać ostrzeżenie, jeśli uwierzytelnię się przy użyciu wycofanego klucza SSH?

tim0_o
źródło
W tym momencie sugeruję, abyś przestał używać tego samego klucza SSH dla wielu hostów; niepotrzebnie zwiększa powierzchnię ataku, a także wartość tego klucza w przypadku naruszenia. Zamiast tego użyj jednego klucza dla każdego hosta, z którym się łączysz; najlepiej użyć jednego klucza dla każdej pary klienta i serwera (ale skaluje się on słabo, jeśli wiele systemów klienckich łączy się z wieloma serwerami). Lubię też oznaczać klucze datą wygenerowania w komentarzu lub nazwie klucza, co pozwala mi śledzić, ile mają lat. Następnie skonfiguruj powtarzające się przypomnienie co 6-24 miesięcy w swoim kalendarzu, aby je odnowić.
CVn
@ MichaelKjörling Nie zgadzam się z pierwszą częścią twojej sugestii. Generowanie wielu par kluczy, w których wszystkie klucze prywatne są przechowywane na tym samym komputerze z tymi samymi uprawnieniami, nie zapewnia znaczącej poprawy bezpieczeństwa. Jeśli ktoś zostanie narażony na szwank, najprawdopodobniej pozostałe również zostaną zagrożone. W takim przypadku posiadanie wielu par kluczy oznacza po prostu, że będzie więcej pracy z obracaniem ich, gdy zobaczysz powód do wygenerowania nowej pary kluczy. Część dodawania daty komentarza do komentarza jest dobrą radą ( ssh-keygendomyślnie chciałbym to zrobić).
kasperd
@kasperd Masz rację. Przypuszczam, że jak zawsze bardzo zależy to od twojego modelu zagrożenia. Podejrzewam, że domyślnie założyłem, że klucze będą miały różne hasła, co widzę, że przy dużej liczbie kluczy może nie zawsze być praktyczne, chyba że chcesz dodać menedżera haseł do miksu. Pozwala to jednak na coś bardzo zbliżonego do tego, co opisuje OP, ponieważ klucz może być „przestarzały” bardzo łatwo, bez wpływu na inne połączenia. Podejrzewam, że to w końcu kwestia osobistego gustu.
CVn

Odpowiedzi:

9

Nie znam sposobu na zrobienie czegoś takiego, ale widzę, jak by to było przydatne. Chciałbym przestać dodawać przestarzały klucz do mojego agenta SSH. W ten sposób za każdym razem, gdy się przyzwyczai, będę musiał ponownie wprowadzić hasło. Jeśli jest to coś w stylu „ugh, inny do naprawienia”, będzie mi to przypominało za każdym razem, gdy muszę obrócić klucz na tym komputerze.

womble
źródło
w związku z tym przydatne może być (w zależności od dystrybucji / DE) przeniesienie pliku do innego katalogu, na przykład konik morski używa ~/. sshautomatycznie wszystkich kluczy .
guntbert,
1
Wszystko, co to robi, musi zostać spalone. Oznacza to, że w momencie, gdy masz więcej niż sześć kluczy (mam ich kilkadziesiąt), zakończy się to niepowodzeniem uwierzytelnienia z powodu zbyt wielu awarii (każdy klucz, który zostanie przedstawiony i odrzucony, liczy się do liczby błędów).
womble
5

Możesz przenieść stary klucz ssh do lokalizacji innej niż domyślna (tj. ~ / .Ssh / deprecated_id_rsa), a następnie utworzyć nowy klucz ssh z żądanymi właściwościami w ~ / .ssh / id_rsa

W ten sposób nadal masz dostępny przestarzały klucz, jeśli zajdzie taka potrzeba ssh -i ~/.ssh/deprecated_id_rsa ..., ale domyślnie będziesz używać nowego klucza.

palec u nogi
źródło