Com configurar l'autenticació de dos factors per a SSH a Fedora


Cada dia sembla que s'informen moltes infraccions de seguretat on les nostres dades estan en perill. Malgrat que SSH és una manera segura d'establir una connexió remota amb un sistema Linux, però tot i així, un usuari desconegut pot accedir a la vostra màquina Linux si us roba les claus SSH, fins i tot si desactiveu les contrasenyes o només permeteu connexions SSH claus públiques i privades.

En aquest article, explicarem com configurar l'autenticació de dos factors (2FA) per a SSH a la distribució de Fedora Linux mitjançant Google Authenticator per accedir a un sistema Linux remot d'una manera més segura proporcionant un TOTP (The Time-based One-time). Contrasenya) número generat aleatòriament per una aplicació d'autenticació en un dispositiu mòbil.

Tingueu en compte que podeu utilitzar qualsevol aplicació d'autenticació bidireccional per al vostre dispositiu mòbil que sigui compatible amb l'algoritme TOTP. Hi ha nombroses aplicacions gratuïtes disponibles per a Android o IOS que admeten TOTP i Google Authenticator, però aquest article utilitza Google Authenticator com a exemple.

Instal·lació de Google Authenticator a Fedora

Primer, instal·leu l'aplicació Google Authenticator al vostre servidor Fedora mitjançant l'ordre dnf següent.

$ sudo dnf install -y google-authenticator

Un cop instal·lat Google Authenticator, ara podeu executar l'aplicació.

$ google-authenticator

L'aplicació us demana una sèrie de preguntes. Els fragments següents us mostren com respondre per a una configuració raonablement segura.

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

L'aplicació us proporciona una clau secreta, un codi de verificació i codis de recuperació. Guardeu aquestes claus en un lloc segur, ja que aquestes claus són l'única manera d'accedir al vostre servidor si perdeu el dispositiu mòbil.

Configuració de l'autenticació del telèfon mòbil

Al vostre telèfon mòbil, aneu a la botiga d'aplicacions Google Play o iTunes i cerqueu Google Authenticator i instal·leu l'aplicació.

Ara obriu l'aplicació Google Authenticator al vostre telèfon mòbil i escanegeu el codi QR que es mostra a la pantalla del terminal Fedora. Un cop finalitzada l'escaneig del codi QR, obtindreu un número generat aleatòriament per l'aplicació d'autenticació i utilitzareu aquest número cada vegada que us connecteu al vostre servidor Fedora de forma remota.

Finalitzeu la configuració de Google Authenticator

L'aplicació Google Authenticator demana més preguntes i l'exemple següent mostra com respondre-les per configurar la configuració segura.

Ara heu de configurar SSH per utilitzar la nova autenticació bidireccional tal com s'explica a continuació.

Configureu SSH per utilitzar Google Authenticator

Per configurar SSH per utilitzar l'aplicació d'autenticació, primer heu de tenir una connexió SSH que funcioni amb claus SSH públiques, ja que desactivarem les connexions amb contrasenya.

Obriu el fitxer /etc/pam.d/sshd al vostre servidor.

$ sudo vi /etc/pam.d/sshd

Comenteu la línia auth substack password-auth al fitxer.

#auth       substack     password-auth

A continuació, col·loqueu la línia següent al final del fitxer.

auth sufficient pam_google_authenticator.so

Desa i tanca el fitxer.

A continuació, obriu i editeu el fitxer /etc/ssh/sshd_config.

$ sudo vi /etc/ssh/sshd_config

Cerqueu la línia ChallengeResponseAuthentication i canvieu-la a yes.

ChallengeResponseAuthentication yes

Cerqueu la línia PasswordAuthentication i canvieu-la per no.

PasswordAuthentication no

A continuació, col·loqueu la línia següent al final del fitxer.

AuthenticationMethods publickey,password publickey,keyboard-interactive

Deseu i tanqueu el fitxer i, a continuació, reinicieu SSH.

$ sudo systemctl restart sshd

Prova de l'autenticació de dos factors a Fedora

Ara proveu de connectar-vos al vostre servidor de forma remota, us demanarà que introduïu un codi de verificació.

$ ssh [email 

Verification code:

El codi de verificació es genera aleatòriament al vostre telèfon mòbil mitjançant la vostra aplicació d'autenticació. Com que el codi generat canvia cada pocs segons, heu d'introduir-lo ràpidament abans que en creï un de nou.

Si introduïu el codi de verificació incorrecte, no us podreu connectar al sistema i obtindreu un error de denegació de permís següent.

$ ssh [email 

Verification code:
Verification code:
Verification code:
Permission denied (keyboard-interactive).

Amb la implementació d'aquesta senzilla autenticació bidireccional, heu afegit una capa addicional de seguretat al vostre sistema i, a més, això fa que sigui més difícil que un usuari desconegut accedeixi al vostre servidor.