Jak włączyć uwierzytelnianie dwuskładnikowe dla połączenia SSH
Sam protokół SSH jest bezpiecznym sposobem łączenia się ze zdalnym komputerem. Jeśli jednak nadal chcesz dodać dodatkowe zabezpieczenia do swojego połączenia SSH, możesz dodać uwierzytelnianie dwuskładnikowe, aby podczas łączenia się przez SSH pojawiał się monit o wprowadzenie losowego kodu weryfikacyjnego. Wcześniej pokazaliśmy, jak to zrobić w różnych sieciach społecznościowych, a tutaj pokazujemy, jak dodać uwierzytelnianie dwuskładnikowe do połączenia SSH.
Uwaga: ta instrukcja dotyczy serwera Ubuntu. Jeśli używasz innej dystrybucji, niektóre polecenia mogą się różnić.
Treść
- Instalowanie uwierzytelniania dwuskładnikowego dla SSH
- Konfigurowanie uwierzytelniania dwuskładnikowego SSH
- Skonfiguruj SSH do korzystania z Google Authenticator
- Konfigurowanie klucza w Google Authenticator
- Często Zadawane Pytania
Instalowanie uwierzytelniania dwuskładnikowego dla SSH
Otwórz sesję terminalową na komputerze, na którym zainstalujesz uwierzytelnianie dwuskładnikowe, wpisz następujące polecenie:
sudo apt install ssh libpam-google-authenticatorAby dokończyć instalację, uruchom:
google-authenticator
Wskazówka: dowiedz się, jak używać przekazywania X SSH do uruchamiania aplikacji zdalnych.
Konfigurowanie uwierzytelniania dwuskładnikowego SSH
Zostaniesz poproszony o serię pytań. W większości sytuacji możesz wpisać „y” (tak) jako odpowiedź. Za każdym razem, gdy ustawienia są nieprawidłowe, naciśnij Ctrl + C, a następnie wpisz ponownie google-authenticator, aby zresetować ustawienia.
- Program zapyta Cię, czy chcesz, aby tokeny uwierzytelniające były zależne od czasu. W tym celu naciśnij Y, a następnie Enter.
Po tym pytaniu powinieneś zobaczyć swój tajny klucz i kod awaryjny. Nagraj i zapisz szczegóły. Będziesz potrzebować tajnego klucza, aby później skonfigurować aplikację Google Authenticator.
- Program zapyta Cię, czy chcesz zaktualizować plik „/home/username/.google_authenticator”. Naciśnij Y, a następnie Enter.
- Gdy pojawi się pytanie, czy chcesz uniemożliwić wielokrotne użycie tego samego tokena uwierzytelniającego, spowoduje to ograniczenie tylko jednego logowania co 30 sekund. Może to być przydatne, jeśli chcesz mieć pewność, że w danym momencie tylko jedno aktywne połączenie może korzystać z tokena uwierzytelniającego.
- Domyślnie tokeny uwierzytelniające są ważne tylko przez 30 sekund. Aby skompensować możliwe przesunięcie czasu między klientem a serwerem, zwiększ okno z domyślnego rozmiaru 1,5 minuty do około 4. Może to być przydatne w przypadkach, gdy zegar komputera lokalnego lub serwera zdalnego nie jest prawidłowo ustawiony zsynchronizowane.
- Włącz ograniczenie szybkości dla modułu uwierzytelniania. Ta opcja ogranicza atakujących do nie więcej niż 3 prób logowania co 30 sekund.
Skonfiguruj SSH do korzystania z Google Authenticator
- Otwórz plik „/etc/pam.d/sshd”:
sudo nano /etc/pam.d/sshd- Dodaj tę linię na górze pliku:
auth required pam_google_authenticator.so
- Naciśnij Ctrl + O i Ctrl + X, aby zapisać i wyjść z pliku.
- Otwórz plik „/etc/ssh/sshd_config”:
sudo nano /etc/ssh/sshd_config- Przewiń w dół do dołu pliku i wpisz następujący wiersz:
ChallengeResponseAuthentication yes- Zapisz i wyjdź z pliku.
- Uruchom ponownie serwer ssh:
sudo systemctl restart sshKonfigurowanie klucza w Google Authenticator
- Otwórz aplikację Google Authenticator (lub jedną z jej alternatyw) na smartfonie (lub komputerze stacjonarnym). Naciśnij ikonę Plusa w lewym dolnym rogu aplikacji i wybierz opcję „Wprowadź klucz konfiguracyjny”.
- Podaj nazwę aplikacji uwierzytelniającej.
- Wpisz wygenerowany wcześniej tajny klucz i naciśnij „Dodaj”.
Kiedy połączysz się poprzez SSH ze zdalnym komputerem, zobaczysz prośbę o klucz weryfikacyjny.
Uwaga: uwierzytelnianie dwuskładnikowe działa tylko w przypadku logowania przy użyciu hasła. Jeśli używasz już klucza publicznego/prywatnego do sesji SSH, uwierzytelnienie dwuskładnikowe zostanie ominięte i zaloguje Cię bezpośrednio. Sprawdź także więcej sposobów zabezpieczenia serwera SSH.
Często Zadawane Pytania
Używam Yubikey'a. Czy nadal mogę korzystać z uwierzytelniania dwuskładnikowego w SSH?
Nie. Moduł uwierzytelniania Google działa tylko przy logowaniu za pomocą standardowego hasła SSH. Podobnie jak w przypadku ustawienia publicznego klucza SSH, nie ma możliwości użycia tego konkretnego modułu z innymi zewnętrznymi rozwiązaniami dwuskładnikowymi, takimi jak Yubikey.
Czy można użyć tego samego klucza uwierzytelniającego na innym telefonie?
Tak. Możesz łatwo używać innego telefonu z Google Authenticator, jeśli masz swój tajny klucz lub jego kod QR. Zanim jednak zaimportujesz go na nowe, musisz się upewnić, że całkowicie usunąłeś klucz uwierzytelniający z poprzedniego urządzenia, ponieważ każdy zły aktor, który uzyska dostęp do poprzedniego urządzenia, będzie mógł ominąć wyzwanie dwuskładnikowe.
Czy możesz używać innej aplikacji do uwierzytelniania dwuskładnikowego z SSH?
Tak. Chociaż twórcy modułu libpam zaprojektowali go specjalnie do współpracy z Google Authenticator, nadal można go używać z innymi aplikacjami uwierzytelniającymi, ponieważ format dwuskładnikowego tajnego klucza jest często taki sam w różnych implementacjach.
Źródło obrazu: Unsplash. Wszystkie zmiany i zrzuty ekranu wykonał Ramces Red.














