Czy aby ułatwić konfigurację SSH bez hasła na nowych komputerach i środowiskach, czy jest jakiś powód, dla którego id_rsa.pub
plik (tylko publiczna połowa pary kluczy) nie mógł zostać opublikowany gdzieś w Internecie? Na przykład w repozytorium GitHub dotfiles.
Wiem, że:
id_rsa
plik (prywatny połowa pary klawisz) muszą być starannie strzeżone i- para kluczy powinna być chroniona hasłem
Ale moje wyszukiwania nie wykazały żadnej wyraźnej porady, że jest to dozwolone lub zalecane.
Czy z tej ciekawości ta sama rada byłaby przydatna dla pary kluczy bez hasła?
ssh
ssh-keys
github
passphrase
DouglasDD
źródło
źródło
Odpowiedzi:
RSA jest specjalnie zaprojektowany, aby umożliwić Ci udostępnianie tego klucza publicznego, więc tak, możesz go opublikować. Jest to dość podobne do działania x.509 (i SSL) z certyfikatami RSA.
Przed opublikowaniem pliku, spójrz na niego; jedyne rzeczy, które muszą tam być, to słowo kluczowe „ssh-rsa” i klucz zakodowany w base64. Być może zechcesz to utrzymać (uważam, że teraz jest to ustawienie domyślne).
Dzieje się tak niezależnie od tego, czy klucz ma hasło. Hasło szyfruje klucz prywatny i nie wpływa na klucz publiczny.
Upewnij się, jak zawsze, że Twój klucz jest wystarczająco entropijny i duży. Jeśli jest generowany przez uszkodzony PRNG, może być przewidywalny. Jednak opublikowanie tego nie stanowi większego ryzyka, ponieważ jeśli przestrzeń kluczy jest tak mała, osoba atakująca może po prostu spróbować użyć wszystkich kluczy w wyliczonej przestrzeni kluczy, dopóki nie uzyska właściwego.
Sugeruję użycie klucza 4096-bitowego (wyszczególnij
-b 4096
), aby trudniej niż zwykle (domyślnie jest to 2048) dla kogoś, kto zamieni Twój klucz publiczny na prywatny. Jest to jedyne znaczące ryzyko i nie jest to bardzo duże, ponieważ algorytm został specjalnie zaprojektowany, aby uczynić go niepraktycznym.źródło
Już jest. :) Po prostu umieść „.keys” na końcu adresu URL profilu Github, na przykład:
https://github.com/tjmcewan.keys
źródło
Chociaż z reguły nie zalecam umieszczania własnej konfiguracji w publicznych repozytoriach projektów (zakładając, że repo jest przeznaczone dla wszystkich, a twoja konfiguracja jest tylko dla ciebie , to tylko trochę niegrzeczne), wpływ na bezpieczeństwo jest minimalny.
Jedynym rozsądnym wektorem ataku jest wykorzystanie tego klucza publicznego do identyfikacji użytkownika w złośliwym kontekście. To może być poza mną, ale klucz publiczny jednoznacznie identyfikuje klucz prywatny, chociaż nie daje żadnych wskazówek co do jego pochodzenia.
Istnieje wektor ataku przypadkowego, który prawdopodobnie nie ma zastosowania, ale jeśli przypomnisz sobie fiasko, w którym Debian przypadkowo złamał PRNG openssl , każdy klucz ssh wygenerowany w systemie, którego dotyczy problem, jest łatwo przewidywalny i można go zidentyfikować za pomocą klucza publicznego. W takim przypadku opublikowanie klucza publicznego może wpędzić cię w kłopoty. Lub bardziej odpowiednio, użycie tego klucza do czegokolwiek może wpędzić cię w kłopoty.
źródło
Tak, możesz opublikować swój klucz publiczny SSH. I możesz opublikować odcisk palca serwera za pomocą rekordu SSHFP w DNS! Może to być bardzo przydatne, na przykład, jeśli musisz zaktualizować / zmienić klucz SSH serwera.
źródło