Jak skonfigurować uwierzytelnianie dwuskładnikowe dla SSH w Linux

Jak skonfigurować uwierzytelnianie dwuskładnikowe dla SSH w Linux

Domyślnie, Ssh Używa już bezpiecznej komunikacji danych między zdalnymi maszynami, ale jeśli chcesz dodać dodatkową warstwę bezpieczeństwa do swoich połączeń SSH, możesz dodać Google Authenticator (Uwierzytelnianie dwuskładnikowe) Moduł, który pozwala wprowadzić losowe jednorazowe hasło (Totp) Kod weryfikacyjny podczas łączenia się z Ssh serwery. Będziesz musiał wprowadzić kod weryfikacyjny ze swojego smartfon Lub PC Po połączeniu.

Google Authenticator jest modułem typu open source, który obejmuje implementacje jednorazowych kodów (Totp) Tokeny weryfikacyjne opracowane przez Google.

Obsługuje kilka platform mobilnych, a także PAM (moduł uwierzytelniania wtyczki). Te jednorazowe kody są generowane przy użyciu otwartych standardów utworzonych przez PRZYSIĘGA Inicjatywa otwartego uwierzytelniania).

W tym artykule pokażę, jak skonfigurować i skonfigurować Ssh W przypadku uwierzytelniania dwuskładnikowego w ramach Linux opartych na Redhat i Debian, takich jak Fedora, Centos Stream, Rocky Linux i Almalinux, Ubuntu, Debian i Mint.

Instalowanie Google Authenticator w Linux

Otwórz maszynę, którą chcesz skonfigurować uwierzytelnianie dwuskładnikowe i zainstaluj następujące Pam biblioteki wraz z bibliotekami rozwojowymi, które są potrzebne do Pam moduł do prawidłowego pracy z Google Authenticator moduł.

Na systemach opartych na Redhat instaluj 'Pam-devel„Pakiet za pomocą następującego polecenia Yum.

# mniam instaluj Google -Authenticator -y 

W systemach opartych na debian instalacji ''libpam0g-dev„Pakiet przy użyciu następujące polecenie apt.

$ sudo apt Zainstaluj libPam-Google-Authenticator -y 

Wygeneruj tokeny uwierzytelniania Google

Po uruchomieniu 'Google-Authenticator„Polecenie, wyniesie Cię z serią pytań.

# Google-Authenticator 

Po prostu wpisz „y”(Tak) jako odpowiedź w większości sytuacji. Jeśli coś pójdzie nie tak, możesz ponownie wpisaćGoogle-Authenticator„polecenie zresetowania ustawień.

  • Czy chcesz, aby tokeny uwierzytelniania były oparte na czasie (T/N) y

Po tym pytaniu dostaniesz swoje 'sekretny klucz' I 'Kody awaryjne'. Zapisz gdzieś te szczegóły, będziemy potrzebować 'sekretny klucz„Później, aby skonfigurować Google Authenticator App.

# Google-Authenticator Czy chcesz, aby tokeny uwierzytelniania były oparte na czasie (T/N) Y OSTRZEŻENIE: Wklejanie następującego adresu URL w przeglądarce ujawnia sekret OTP na Google: https: // www.Google.com/wykres?CHS = 200x200 i chld = m | 0 & cht = qr & chl = otpauth: // totp/[chroniony e -mail]%3fsecret%3DCYZF2YF7HFGX55ZEPQYLHOO5JM%26issuer%3dtecMint nie udało się użyć libqRencode, aby wyświetlić kod qr wizytę do scanning. Rozważ ręczne wpisanie sekretu OTP w aplikacji. Twój nowy tajny klucz to: CYZF2YF7HFGX55ZEPQYLHOM Wprowadź kod z aplikacji (-1 do pominięcia): -1 Potwierdzenie kodu pominęło kody zarysowania awaryjnego: 83714291 53083200 80975623 57217008 77496339

Następnie śledź kreatora konfiguracji, a w większości przypadków wpisz odpowiedź jako „y”(Tak) jak pokazano niżej.

Czy chcesz, żebym zaktualizował swoje "/root/.Google_authenticator „Plik (y/n) y Czy chcesz odrzucić wiele zastosowań tego samego tokena uwierzytelniania? Ogranicza to do jednego logowania co około 30 lat, ale zwiększa twoje szanse na zauważenie, a nawet zapobieganie atakom man-wtłań (T/N) y Domyślnie tokeny są dobre przez 30 sekund i aby zrekompensować możliwe przecięcie czasu między klientem a serwerem, zezwalamy na dodatkowy token przed i po bieżącym czasie. Jeśli masz problemy ze słabą synchronizacją czasu, możesz zwiększyć okno z jego domyślnego rozmiaru 1: 30 minut do około 4 minut. Chcesz to zrobić (T/N) y Jeśli komputer, na który się zalogujesz, nie jest stwardniał przed próbami logowania z siły brutalnej, możesz włączyć ograniczenie prędkości dla modułu uwierzytelniania. Domyślnie ogranicza to atakujących do nie więcej niż 3 prób logowania co 30 lat. Czy chcesz włączyć ograniczenie stawek (T/N) y
Wygeneruj tokeny Google Auth

Konfigurowanie SSH do korzystania z Google Authenticator w Linux

Otworzyć Pam plik konfiguracyjny '/etc/pam.D/sshd'i dodaj następujący wiersz na dole pliku.

Wymagane autoryzm PAM_GOOGLE_AUTHENTICATOR.Więc Nullok Auth wymagał PAM_PERMIT.Więc 
Skonfiguruj PAM dla SSH

Następnie otwórz Ssh plik konfiguracyjny '/etc/ssh/sshd_config„Przewiń w dół, aby znaleźć linię, która mówi.

ChallengerEsponseAutentication nr 

Zmień to na „Tak". Więc staje się tak.

ChallengerEsponseAuthentication Tak 
Skonfiguruj SSH dla Google Auth

Wreszcie uruchom ponownie Ssh Usługa, aby wziąć nowe zmiany.

# Systemctl restartuj sshd lub $ sudo systemctl restart sshd 

Konfigurowanie aplikacji Google Authenticator

Uruchom Google Authenticator Aplikacja na smartfonie. Naciskać + i wybierz „Wprowadź klucz konfiguracyjny". Jeśli nie masz tej aplikacji, możesz pobrać i zainstalować aplikację Google Authenticator na swoim Android/iPhone/Blackberry urządzenia.

Dodaj swoje konto 'Nazwa„i wejdź do”sekretny klucz„Wygenerowano wcześniej.

SSH Secret Key

Wygeneruje jednorazowe hasło (kod weryfikacyjny) To będzie ciągle zmieniać każdy 30 sekund na Twoim telefonie.

SSH Google Auth

Teraz spróbuj zalogować się Ssh, zostaniesz poproszony o Kod uwierzytelniający Google (Kod weryfikacyjny) I Hasło Za każdym razem, gdy próbujesz się zalogować Ssh. Masz tylko 30 sekund Aby wprowadzić ten kod weryfikacji, jeśli go przegapisz, zregeneruje nowy kod weryfikacyjny.

Zaloguj się jako: Tecmint Access Odmówiono za pomocą uwierzytelnienia interaktywnego klawiatury. Kod weryfikacyjny: Korzystanie z uwierzytelniania Klawiatura-interactive. Hasło: Ostatni login: Wt 23 kwietnia 13:58:29 2022 z 172.16.25.125 [[e -mail chroniony] ~]#

Jeśli nie masz smartfona, możesz również użyć Firefox Dodatek nazywany uwierzytelnieniem do uwierzytelniania dwuskładnikowego.

Ważny: Uwierzytelnianie dwuskładnikowe działa z loginem SSH opartym na hasłach. Jeśli korzystasz z jakiejkolwiek sesji SSH klucza prywatnego/publicznego, zignoruje on uwierzytelnianie dwuskładnikowe i zaloguje się bezpośrednio.