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

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

Todos los días parece que se informan muchas violaciones de seguridad en las que nuestros datos están en peligro. A pesar de que SSH es una forma segura de establecer una conexión de forma remota a un sistema Linux, un usuario desconocido puede obtener acceso a su máquina Linux si roba sus claves SSH, incluso si deshabilita las contraseñas o solo permite conexiones SSH a través de claves públicas y privadas.

En este artículo, explicaremos cómo configurar la autenticación de dos factores ( 2FA. para SSH en la distribución de Fedora. Linux usar Google Authenticator. para acceder a un sistema Linux remoto de una manera más segura proporcionando un número de TOTP. ( la contraseña de un solo uso basada en el tiempo. generado aleatoriamente por una aplicación de autenticación en un dispositivo móvil.

Lea también. Cómo configurar la autenticación de dos factores para inicios de sesión SSH en CentOS y Debian

Nota que, puede utilizar cualquier aplicación de autenticación bidireccional para su dispositivo móvil que sea compatible con el algoritmo TOTP. Existen numerosas aplicaciones gratuitas disponibles para Android o IOS que admiten TOTP. y Google Authenticator. pero este artículo utiliza Google Authenticator. como ejemplo.

Instalando Google Authenticator en Fedora

Primero, instale la aplicación Google Authenticator. en su servidor Fedora usando el siguiente comando dnf.

$ sudo dnf install-y autenticador de google  Instalar Google Authenticator en Fedora  Instalar Google Authenticator en Fedora Instale Google Authenticator en Fedora freestar.config.enabled_slots.push

Una vez Google Authenticator. instalado, ahora puede ejecutar la aplicación.

$ google-authenticator

La aplicación le presenta una serie de preguntas. Los siguientes fragmentos le muestran cómo responder para una configuración razonablemente segura.

¿Quiere que los tokens de autenticación se basen en el tiempo (y/n)? Y ¿Quiere que actualice su “/home/user/.google_authenticator” archivo (s/n)? y  Generar tokens de autenticación Generar tokens de autenticación Generate Aut Tokens de autenticación

La aplicación le proporciona una clave secreta, un código de verificación y códigos de recuperación. Guarde estas claves en un lugar seguro, ya que estas claves son la única forma de acceder a su servidor si pierde su dispositivo móvil.

Configuración de la autenticación del teléfono móvil

En su teléfono móvil, vaya a la tienda de aplicaciones Google Play. o iTunes. y busque Google Authenticator. e instale la aplicación.

Ahora abra Google Authenticator. en su teléfono móvil y escanee el código QR que se muestra en la pantalla del terminal Fedora. Una vez que se complete el escaneo del código QR, obtendrá un número generado aleatoriamente por la aplicación de autenticación y usará este número cada vez que se conecte a su servidor Fedora de forma remota.

 Escanear el código QR con el autenticador  Escanear el código QR con el autenticador Escanear el código QR con el autenticador

Finalizar la configuración del autenticador de Google

El La aplicación Google Authenticator. genera más preguntas y el siguiente ejemplo muestra cómo responderlas para configurar la configuración segura.

 Finalizar Google Authenticat o-Configuración  Finalizar la configuración del autenticador de Google Finalizar la configuración del autenticador de Google

Ahora debes configure SSH para usar la nueva autenticación bidireccional como se explica a continuación.

Configure SSH para usar Google Authenticator

Para configurar SSH para usar la aplicación autenticador. primero necesita tener una conexión SSH que funcione usando claves SSH públicas, ya que estaremos deshabilitando las conexiones de contraseña.

Abra el archivo /etc/pam.d/sshd. en su servidor.

$ sudo vi/etc/pam.d/sshd

Comente la línea auth sub-contraseña-auth en el archivo.

#auth sub-contraseña-auth

A continuación, coloque la siguiente línea para al final del archivo.

auth suficiente pam_google_authenticator.so

Guarde y cierre el archivo.

A continuación, abra y edite el /etc/ssh/sshd_config.

$ sudo vi/etc/ssh/sshd_config

Busque la línea ChallengeResponseAuthentication y cámbiela a yes.

ChallengeResponseAuthentication yes

Buscar para la línea PasswordAuthentication y cámbiela a no.

PasswordAuthentication no

A continuación, coloque la siguiente línea al final del archivo.

AuthenticationMethods publickey, password publickey, keyboard-interactive

Guarde y cierre el archivo y luego reinicie SSH.

$ sudo systemctl restart sshd

Probando la autenticación de dos factores en Fedora

Ahora intente conectarse a su servidor de forma remota, le pedirá que ingrese un código de verificación.

$ ssh [email protected]. Código de verificación:

La aplicación de autenticación genera el código de verificación aleatoriamente en su teléfono móvil. Dado que el código generado cambia cada pocos segundos, debe ingresarlo rápidamente antes de que cree uno nuevo.

Código de verificación del autenticador  Código de verificación del autenticador Código de verificación del autenticador

Si ingresa el código de verificación incorrecto, no podrá conectarse al sistema y obtendrá un siguiente error de permiso denegado.

$ ssh [email protected]. Código de verificación : Código de verificación: Código de verificación: Permiso denegado (teclado interactivo). Conclusión

Al implementar esta sencilla autenticación bidireccional, ha agregado una capa adicional de seguridad a su sistema y, además, esto dificulta que un usuario desconocido obtenga acceso a su servidor.