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

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

Por defecto, Ssh ya utiliza la comunicación de datos segura entre máquinas remotas, pero si desea agregar una capa de seguridad adicional a sus conexiones SSH, puede agregar un Autenticador de Google (Autenticación de dos factores) módulo que le permite ingresar una contraseña de una sola vez al azar (TOTP) Código de verificación mientras se conecta a Ssh servidor. Tendrá que ingresar el código de verificación desde su teléfono inteligente o ordenador personal Cuando te conectas.

El Autenticador de Google es un módulo de código abierto que incluye implementaciones de códigos de acceso únicos (TOTP) Tokens de verificación desarrollados por Google.

Admite varias plataformas móviles, así como PAM (módulo de autenticación conectable). Estos códigos de acceso únicos se generan utilizando estándares abiertos creados por el JURAMENTO Iniciativa para la autenticación abierta).

En este artículo, le mostraré cómo configurar y configurar Ssh Para la autenticación de dos factores bajo distribuciones de Linux con sede en Redhat y basadas en Debian como Fedora, Centos Stream, Rocky Linux y Almalinux, Ubuntu, Debian y Mint.

Instalación del autenticador de Google en Linux

Abra la máquina que desea configurar la autenticación de dos factores e instale lo siguiente Pam bibliotecas junto con bibliotecas de desarrollo necesarias para el Pam módulo para trabajar correctamente con el Autenticador de Google módulo.

En sistemas basados ​​en Redhat instale el 'pam-devel'Paquete usando el siguiente comando yum.

# yum instalar Google -Authenticator -y 

En los sistemas basados ​​en Debian, instale el 'libpam0g-dev'Paquete usando el siguiente comando APT.

$ sudo apt install libpam-google-autoricator -y 

Generar tokens de autenticación de Google

Una vez que ejecute el 'Autenticador de Google'Comando, le solicitará una serie de preguntas.

# Autenticador de Google 

Simplemente escriba "Y"() como la respuesta en la mayoría de las situaciones. Si algo sale mal, puede escribir nuevamente el 'Autenticador de Google'Comando para restablecer la configuración.

  • ¿Quieres que los tokens de autenticación estén basados ​​en el tiempo (S/N)? Y

Después de esta pregunta, obtendrá su 'llave secreta' y 'códigos de emergencia'. Escriba estos detalles en algún lugar, necesitaremos el 'llave secretamás tarde para configurar el Autenticador de Google aplicación.

# Google-Authenticator ¿Desea que los tokens de autenticación sean basados ​​en el tiempo (S/N) Y Advertencia: Pastear la siguiente URL en su navegador Expone el secreto OTP a Google: https: // www.Google.com/gráfico?Chs = 200x200 & chld = m | 0 & cht = qr & chl = otpauth: // totp/[correo electrónico protegido]%3fsecret%3dcyzf2yf7hfgx55zepqylhoo5jm%26Siser%3dTecMint no pudo usar libqrencode para mostrar el código visual para escanear. Considere escribir el secreto de OTP en su aplicación manualmente. Tu nueva clave secreta es: Cyzf2yf7hfgx55zepqylhom Ingrese el código desde la aplicación (-1 para omitir): -1 La confirmación del código omitió sus códigos de rascado de emergencia: 83714291 53083200 80975623 57217008 77496339

A continuación, siga el asistente de configuración y, en la mayoría de los casos, escriba la respuesta como "Y"() Como se muestra abajo.

¿Quieres que actualice tu "/root/.Archivo de Google_Authenticator "(S/N) Y ¿Desea no permitir múltiples usos del mismo token de autenticación?? Esto lo restringe a un inicio de sesión sobre cada 30, pero aumenta sus posibilidades de notar o incluso evitar ataques de hombre en el medio (S/N) Y Por defecto, los tokens son buenos durante 30 segundos y para compensar el tiempo posible entre el cliente y el servidor, permitimos un token adicional antes y después de la hora actual. Si experimenta problemas con una sincronización de tiempo deficiente, puede aumentar la ventana de su tamaño predeterminado de 1: 30 minutos a aproximadamente 4 minutos. ¿Quieres hacerlo (S/N) Y Si la computadora en la que está iniciando sesión no se endurece contra los intentos de inicio de sesión de fuerza bruta, puede habilitar la limitación de la velocidad para el módulo de autenticación. Por defecto, esto limita los atacantes a no más de 3 intentos de inicio de sesión cada 30. ¿Quieres habilitar la limitación de la velocidad (S/N) Y
Generar tokens de autores de Google

Configuración de SSH para usar Google Authenticator en Linux

Abre el Pam archivo de configuración '/etc/pam.d/sshd'Y agregue la siguiente línea a la parte inferior del archivo.

Auth requerido pam_google_authenticator.Entonces la autenticación Nullok requerida PAM_PERMIT.entonces 
Configurar PAM para SSH

A continuación, abra el Ssh archivo de configuración '/etc/ssh/sshd_config'Y desplácese hacia abajo para encontrar la línea que dice.

ChallengerAponseAuthentication no 

Cambiarlo a "". Entonces, se vuelve así.

ChallengerAponseAuthentication Sí 
Configurar SSH para Google Auth

Finalmente, reinicie el Ssh Servicio para tomar nuevos cambios.

# SystemCTL reiniciar sshd o $ sudo systemctl reiniciar sshd 

Configuración de la aplicación de autenticador de Google

Lanzar el Autenticador de Google Aplicación en su teléfono inteligente. Prensa + y elige "Ingrese una clave de configuración". Si no tiene esta aplicación, puede descargar e instalar la aplicación Google Authenticator en su Android/iPhone/Blackberry dispositivos.

Agregue su cuenta 'Nombre'e ingresa el'llave secreta'Generado antes.

Clave secreta de SSH

Generará una contraseña de una sola vez (código de verificación) que cambiará constantemente cada 30 segundos en tu teléfono.

Código de autores de SSH Google

Ahora intente iniciar sesión a través de Ssh, se le pedirá con un Código de autenticador de Google (Código de verificación) y Contraseña Siempre que intentes iniciar sesión a través de Ssh. Solo tienes 30 segundos Para ingresar este código de verificación, si lo pierde, regenerará un nuevo código de verificación.

Iniciar sesión como: TecMint Access denegado con la autenticación interactiva del teclado. Código de verificación: Usando autenticación interactiva con el teclado. Contraseña: Último inicio de sesión: mar 23 de abril 13:58:29 2022 de 172.dieciséis.25.125 [[correo electrónico protegido] ~]#

Si no tiene un teléfono inteligente, también puede usar un Firefox complemento llamado autenticador para hacer autenticación de dos factores.

Importante: La autenticación de dos factores funciona con el inicio de sesión de SSH basado en contraseña. Si está utilizando cualquier sesión SSH de clave privada/pública, ignorará la autenticación de dos factores y lo registrará directamente.