Cum se configurează autentificarea cu doi factori pentru SSH pe Fedora
În fiecare zi par să fie raportate o mulțime de breșe de securitate în cazul în care datele noastre sunt în pericol. În ciuda faptului că SSH este o modalitate sigură de a stabili o conexiune de la distanță la un sistem Linux, dar totuși, un utilizator necunoscut poate obține acces la mașina dvs. Linux dacă vă fură cheile SSH, chiar dacă dezactivați parolele sau permiteți doar conexiuni SSH peste chei publice și private.
În acest articol, vom explica cum să configurați autentificarea cu doi factori (2FA) pentru SSH pe distribuția Linux Fedora folosind Google Authenticator pentru a accesa un sistem Linux la distanță într-un mod mai sigur prin furnizarea unui număr TOTP (Parola unică bazată pe timp) generat aleatoriu de o aplicație de autentificare pe un dispozitiv mobil.
Citiți și: Cum să configurați autentificarea cu doi factori pentru autentificarea SSH în CentOS și Debian
Rețineți că puteți utiliza orice aplicație de autentificare bidirecțională pentru dispozitivul dvs. mobil care este compatibilă cu algoritmul TOTP. Există numeroase aplicații gratuite disponibile pentru Android sau IOS care acceptă TOTP și Google Authenticator, dar acest articol folosește ca exemplu Google Authenticator.
Instalarea Google Authenticator pe Fedora
Mai întâi, instalați aplicația Google Authenticator pe serverul dvs. Fedora utilizând următoarea comandă dnf.
sudo dnf install -y google-authenticator
Odată instalat Google Authenticator, acum puteți rula aplicația.
google-authenticator
Aplicația vă solicită cu o serie de întrebări. Următoarele fragmente vă arată cum să răspundeți pentru o configurare rezonabil de sigură.
Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y
Aplicația vă oferă o cheie secretă, un cod de verificare și coduri de recuperare. Păstrați aceste chei într-o locație sigură, deoarece aceste chei sunt singura modalitate de a vă accesa serverul dacă vă pierdeți dispozitivul mobil.
Configurarea autentificării telefonului mobil
Pe telefonul mobil, accesați magazinul de aplicații Google Play sau iTunes și căutați Google Authenticator și instalați aplicația.
Acum deschideți aplicația Google Authenticator pe telefonul dvs. mobil și scanați codul QR afișat pe ecranul terminalului Fedora. Odată ce scanarea codului QR este finalizată, veți obține un număr generat aleatoriu de aplicația de autentificare și veți folosi acest număr de fiecare dată când vă conectați la serverul Fedora de la distanță.
Finalizați configurarea Google Authenticator
Aplicația Google Authenticator solicită alte întrebări, iar exemplul următor arată cum să răspundeți la acestea pentru a configura configurația securizată.
Acum trebuie să configurați SSH pentru a utiliza noua autentificare bidirecțională, așa cum este explicat mai jos.
Configurați SSH pentru a utiliza Google Authenticator
Pentru a configura SSH să utilizeze aplicația de autentificare, mai întâi trebuie să aveți o conexiune SSH funcțională folosind chei SSH publice, deoarece vom dezactiva conexiunile prin parolă.
Deschideți fișierul /etc/pam.d/sshd pe serverul dvs.
sudo vi /etc/pam.d/sshd
Comentați linia auth substack password-auth
din fișier.
#auth substack password-auth
Apoi, plasați următoarea linie la sfârșitul fișierului.
auth sufficient pam_google_authenticator.so
Salvați și închideți fișierul.
Apoi, deschideți și editați fișierul /etc/ssh/sshd_config.
sudo vi /etc/ssh/sshd_config
Căutați linia ChallengeResponseAuthentication
și schimbați-o în yes
.
ChallengeResponseAuthentication yes
Căutați linia PasswordAuthentication
și schimbați-o în no
.
PasswordAuthentication no
Apoi, plasați următoarea linie la sfârșitul fișierului.
AuthenticationMethods publickey,password publickey,keyboard-interactive
Salvați și închideți fișierul, apoi reporniți SSH.
sudo systemctl restart sshd
Testarea autentificării cu doi factori pe Fedora
Acum încercați să vă conectați la serverul dvs. de la distanță, acesta vă va cere să introduceți un cod de verificare.
ssh [email
Verification code:
Codul de verificare este generat aleatoriu pe telefonul dvs. mobil de către aplicația dvs. de autentificare. Deoarece codul generat se modifică la fiecare câteva secunde, trebuie să îl introduceți rapid înainte de a crea unul nou.
Dacă introduceți codul de verificare greșit, nu vă veți putea conecta la sistem și veți primi următoarea eroare de refuzare a permisiunii.
ssh [email
Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).
Concluzie
Prin implementarea acestei autentificări ușoare bidirecționale, ați adăugat un strat suplimentar de securitate sistemului dvs. și, de asemenea, acest lucru face mai dificil pentru un utilizator necunoscut să obțină acces la serverul dvs.