Czy połączenie z serwerem korzystającym z SSH z hoteli podczas podróży jest naprawdę bezpieczne?
Serwer :
- CentOS 7
- Autoryzacja tylko za pomocą klucza RSA - Odmowa autoryzacji hasła
- Niestandardowy port
Stacja robocza :
- Ubuntu 14
- hasło użytkownika
- hasło do użycia klucza RSA (metoda standardowa)
Może dobrym pomysłem będzie przechowywanie połowy prywatnego klucza RSA na pamięci USB i automatyczne (według skryptu) dodanie tej połowy do ~ / .ssh / private_key przed podłączeniem?
Internet będzie przez sieć WIFI w hotelach lub kablówkę w wynajętym mieszkaniu.
UPD
Przepraszam, że na początku jestem niejasny. Mam na myśli bezpieczeństwo w dwóch aspektach:
- Bezpieczeństwo tylko połączenia SSH przez niezaufaną sieć.
- Bezpieczeństwo komputera z kluczem niezbędnym do połączenia SSH - jeśli zostanie skradziony, jak chronić serwer ...
security
physical-security
Siergiej Serow
źródło
źródło
Odpowiedzi:
Tak więc, odnośnie nawiązania połączenia ssh przez jawnie niezaufane połączenie.
Zakładając, że masz już wpis ~ / .ssh / known_hosts z poprzedniego połączenia, tak, powinieneś być w stanie połączyć się bez obawy o to, czy sieć jest bezpieczna czy nie. To samo dotyczy sytuacji, gdy masz inne sposoby weryfikacji klucza hosta ssh.
Jeśli nigdy wcześniej nie łączyłeś się z serwerem, ani nie masz żadnego innego sposobu weryfikacji klucza hosta ssh, możesz bardziej uważać na sieć, której używasz do połączenia.
źródło
W drugiej części pytania wydaje się, że martwisz się o kradzież notebooka, a wraz z nim prywatnych kluczy do logowania SSH bez hasła na serwerach.
Należy pamiętać, że można to łatwo rozwiązać (problem z kluczami prywatnymi), przechowując klucze prywatne „zaszyfrowane” za pomocą „hasła”: można je początkowo zaszyfrować, generując za pomocą narzędzia ssh-keygen , podając hasło na końcu proces generowania lub, jeśli już je masz bez skryptów, użyj narzędzia ssh-keygen z
-p
opcją. Gdy klucz zostanie zaszyfrowany, przy każdym logowaniu zostaniesz poproszony o wprowadzenie odpowiedniego hasła i ... jeśli jest poprawny, wszystko przebiegnie normalnie.Ponadto, jeśli nie chcesz wprowadzać hasła za każdym razem, gdy uruchamiasz klienta ssh, możesz użyć ssh-agent : może śledzić w pamięci niezaszyfrowane klucze prywatne. Możesz po prostu uruchomić ssh-add, wskazując na plik zawierający zaszyfrowany klucz, a po zapytaniu o hasło, klucz jest dodawany do zestawu zarządzanego przez ssh-agent. Następnie za każdym razem, gdy klient SSH wymaga klucza chronionego hasłem, agent ssh transparentnie przekazuje powiązany niezaszyfrowany klucz prywatny klientowi ssh. Zatem dla ciebie nie trzeba wchodzić w to interaktywnie.
Pamiętaj, że ssh-agent może zarządzać dużą ilością kluczy, i oczywiście możesz „dostroić” swój notebook / pulpit, aby uruchomić
ssh-add
narzędzie (w celu wypełnienia zestawu kluczy ssh-agent) podczas logowania / uruchamiania.Ponadto, jeśli ktoś ukradnie Twój laptop, twoje klucze prywatne prawdopodobnie nie są jedyną „wrażliwą” treścią, którą będziesz rozdawać: pamiętaj, że przy dzisiejszych dystrybucjach komputerów stacjonarnych z systemem Linux BARDZO łatwo jest skonfigurować notebooka opartego na „zaszyfrowanym” "system plików (
/home
jako starter, ale całość w/
razie potrzeby). Więc proszę, rozważ to również.Wszystkie powyższe, oczywiście, NIE mają zastosowania, jeśli NIE polegasz na SWOIM WŁASNYM notatniku.
PS: co do możliwości przechowywania dwie połówki klucz prywatny na różnych nośnikach: Ja zdecydowanie porad można nie to zrobić, jak utrzymywanie dwóch kawałków wrażliwej zawartości w niezaszyfrowanej formie jest znacznie, znacznie gorzej, niż utrzymywanie dwóch pełne kopie całej zawartości, zaszyfrowane!
źródło
Na pierwszą część twojego pytania odpowiada już poprzednia odpowiedź. Zgodnie z twoją drugą częścią, polecam dodać drugi czynnik do twojego logowania ssh przy użyciu pam_google_authenticator. Jest to dość łatwa konfiguracja i konfiguracja w dowolnej dystrybucji. W przypadku kradzieży klucza prywatnego, który nosisz, nie mogą zalogować się na twój serwer bez hasła TOTP jednorazowego z Google-Authenticatora.
https://www.howtoforge.com/tutorial/secure-ssh-with-google-authenticator-on-centos-7
źródło