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.