Jak skonfigurować uwierzytelnianie dwuskładnikowe dla SSH w Linux
- 1965
- 244
- Laura Zygmunt
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)Wygeneruj tokeny Google Authy
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
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ęcSkonfiguruj 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 TakSkonfiguruj 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 KeyWygeneruje jednorazowe hasło (kod weryfikacyjny) To będzie ciągle zmieniać każdy 30 sekund na Twoim telefonie.
SSH Google AuthTeraz 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.
- « 30 sposobów walidacji plików konfiguracyjnych lub skryptów w Linux
- Instalacja Manjaro 21.0 (KDE Edition) Desktop »