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 haber muchas violaciones de seguridad informadas dónde nuestros datos están en peligro. A pesar del hecho de que SSH es una forma segura de establecer una conexión de forma remota para un sistema de Linux, pero aún así, un usuario desconocido puede obtener acceso a su máquina Linux si roban sus claves SSH, incluso si deshabilita las contraseñas o solo permiten conexiones SSH sobre claves públicas y privadas.

En este artículo, explicaremos cómo configurar la autenticación de dos factores (2fa) para ssh on Fedora Distribución de Linux usando Autenticador de Google para acceder a un sistema Linux remoto de una manera más segura proporcionando un TOTP (La contraseña de una sola vez basada en el tiempo) Número generado al azar por una aplicación de autenticador en un dispositivo móvil.

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

Tenga en cuenta que puede usar cualquier aplicación de autenticación bidireccional para su dispositivo móvil que sea compatible con el TOTP algoritmo. Hay numerosas aplicaciones gratuitas disponibles para Android o iOS que admite TOTP y Autenticador de Google, Pero este artículo usa Autenticador de Google como ejemplo.

Instalación de Google Authenticator en Fedora

Primero, instale el Autenticador de Google Aplicación en su servidor Fedora utilizando el siguiente comando DNF.

$ sudo dnf instalación -y Google -Authenticator 
Instale Google Authenticator en Fedora

Una vez Autenticador de Google Instalado, ahora puede ejecutar la aplicación.

$ Google-Autenticador 

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

¿Quieres que los tokens de autenticación estén basados ​​en el tiempo (S/N)? Y ¿Quieres que actualice tu "/hogar/usuario/.Archivo de Google_Authenticator "(S/N)? Y
Generar tokens de autenticación

La aplicación le proporciona una clave secreta, código de verificación y códigos de recuperación. Mantenga estas claves en una ubicación segura segura, 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 App Store Google Play o iTunes y buscar Autenticador de Google e instalar la aplicación.

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

Escanear el código QR usando autenticador

Finalizar la configuración del autenticador de Google

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

Terminar Google autenticador-setup

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

Configurar SSH para usar Google Authenticator

Para configurar SSH para usar autenticador Aplicación, primero debe tener una conexión SSH en funcionamiento utilizando las claves SSH públicas, ya que deshabilitaremos las conexiones de contraseña.

Abierto /etc/pam.d/sshd Archivo en su servidor.

$ sudo vi /etc /pam.d/sshd 

Comenta el Authusta de contraseña de subsack línea en el archivo.

#Auth Sustsack Password-Auth 

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

Auth suficiente pam_google_authenticator.entonces 

Guarde y cierre el archivo.

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

$ sudo vi/etc/ssh/sshd_config 

Buscar el ChallengerAponseAuthentication línea y cambiarlo a .

ChallengerAponseAuthentication Sí 

Buscar el Contraseña línea y cambiarlo a No.

Contraseña Autenticación no 

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

Autenticación Methods PublicKey, Password PublicKey, teclado Interactivo 

Guarde y cierre el archivo y luego reinicie SSH.

$ sudo systemctl reiniciar sshd 

Prueba de 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 [correo electrónico protegido] Código de verificación: 

El código de verificación se genera aleatoriamente en su teléfono móvil por su aplicación de autenticador. 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

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

$ ssh [correo electrónico protegido] Código de verificación: Código de verificación: Código de verificación: permiso denegado (teclado-interactivo). 
Conclusión

Al implementar esta fácil autenticación bidireccional, ha agregado una capa adicional de seguridad a su sistema y, así como esto, es más difícil para un usuario desconocido obtener acceso a su servidor.