Cómo habilitar la autenticación de dos factores para SSH en Fedora Linux


Cualquier máquina que permita el inicio de sesión SSH se beneficiaría de la adición de la autenticación de dos factores.

Ya sea que utilice Fedora Linux para un escritorio o servidor, debe considerar habilitar la autenticación de dos factores para el inicio de sesión de Secure Shell (SSH). ¿Por qué? Debido a que SSH es el medio principal para iniciar sesión de forma remota en un servidor, y lo último que desea es dejar ese servicio abierto para los ataques.

Una forma de bloquearlo mejor es habilitar la autenticación de dos factores para SSH. Quiero guiarlo a través de los pasos para hacer precisamente eso, para que pueda disfrutar de más seguridad con sus equipos y servidores de Fedora.

Que necesitas

Para que esto funcione, necesitas lo siguiente:

    Una instancia de Fedora en funcionamiento.
    Una cuenta de usuario con acceso sudo.
    Una aplicación de autenticación de terceros (como Authy) en su dispositivo móvil.

Hagamos que esto funcione.

Una palabra de advertencia. Antes de entrar en esto, recomiendo encarecidamente que esta configuración se realice cuando tenga acceso físico a la máquina de Fedora en cuestión. Si algo sale mal, poder iniciar sesión directamente en la máquina, para poder solucionar el problema.

Instalación

El primer paso es instalar el Autenticador de Google. Abra una ventana de terminal y emita el siguiente comando:


sudo dnf install google-authenticator nano -y

Una vez que se complete la instalación, ejecute la herramienta con el comando:


google-authenticator


Se le harán las siguientes preguntas (responda sí a cada una):


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

La aplicación mostrará un código QR, que deberá escanear en Authy (en su dispositivo móvil). También se le proporcionará una lista de códigos secretos, que deberá copiar y guardar en una ubicación secreta y segura. Una vez que haya escaneado con éxito el código QR y haya guardado los códigos de recuperación, se le harán tres preguntas más (nuevamente, responda sí a cada una).

Configurar SSH

Antes de hacer esto, asegúrese de que puede acceder vìa SSH en la máquina de Fedora. Es posible que el demonio SSH no se esté ejecutando, así que comience y habilítelo con los siguientes comandos:


sudo systemctl start sshd
sudo systemctl enable sshd

Una vez que SSH esté funcionando y habilitado, asegúrese de copiar su clave SSH en esta máquina (para la autenticación de clave SSH), desde cualquiera o todas las máquinas que planea usar para obtener acceso remoto. Esto se puede hacer ejecutando el siguiente comando desde cada máquina que necesitará acceso:


ssh-copy-id USER@FEDORA_IP

Donde USUARIO es el nombre de usuario en la máquina Fedora y FEDORA_IP es la dirección IP de su máquina Fedora.

Una vez que pueda acceder vìa SSH en la máquina de Fedora usando la autenticación de clave SSH, es hora de configurar SSH para usar la autenticación de dos factores. Desde la ventana de la terminal (en la máquina de Fedora), ejecute el comando:


sudo nano /etc/pam.d/sshd

Comente la primera línea (agregando un símbolo # al principio). Esa línea ahora se verá como:


#auth substack password-auth

En la parte inferior del archivo, agregue la siguiente línea:


auth sufficient pam_google_authenticator.so

Guarde y cierre ese archivo.

A continuación, necesitamos configurar el demonio SSH. Ejecute el comando:


sudo nano /etc/ssh/sshd_config

En primer lugar, cambie la Autenticación ChallengeResponse de no a sí así:


ChallengeResponseAuthentication yes

A continuación, cambie PasswordAuthentication a no como así:


PasswordAuthentication no
 
Finalmente, agregue lo siguiente al final de ese archivo:


AuthenticationMethods publickey,password publickey,keyboard-interactive

Guarde y cierre el archivo.

Reinicie el demonio SSH con el comando:


sudo systemctl restart sshd

Iniciar sesión

Ya está listo para iniciar sesión. Desde una de sus máquinas cliente, abra una ventana de terminal y ejecute el comando:


ssh USER@FEDORA_IP

Donde USUARIO es el nombre de usuario en la máquina Fedora y FEDORA_IP es la dirección IP de la máquina Fedora. Se le debe solicitar un código de verificación (Figura A), que recuperará de su aplicación de autenticación móvil. 

Figura A: Nuestro mensaje SSH para el código de verificación.

Una vez que ingrese el código, debe recibir acceso a la máquina (porque configuró la autenticación de clave SSH).

Enhorabuena, ahora tiene configurada la autenticación de dos factores para su máquina Fedora. Cada vez que alguien intente iniciar sesión en ese servidor o escritorio mediante SSH, no se le dará acceso sin un código de autenticación de dos factores generado por su aplicación de autenticación móvil.

Fuente: https://www.techrepublic.com/
No olvides Compartir...
Siguenos en twitter: @disoftin

Publicar un comentario

0 Comentarios