Cómo habilitar la autenticación de dos factores (2FA) para SSH en Linux
En este artículo, le mostraremos cómo habilitar la autenticación de dos factores (2FA) para el inicio de sesión SSH en Linux usando Google PAM (Módulo de autenticación conectable) y la aplicación móvil Microsoft Authenticator. 2FA le permite agregar una capa de seguridad adicional cuando se autentica en un host Linux a través de SSH. Después de habilitar 2FA, deberá ingresar una contraseña digital de un solo uso (TOTP) desde su teléfono inteligente además de su nombre de usuario y contraseña (o clave RSA) para SSH en Linux.
Instale la aplicación móvil Microsoft Authenticator en su teléfono inteligente (está disponible tanto en Google Store como en App Store).
En esta guía, he seleccionado Microsoft Authenticator porque ya lo uso para la autenticación MFA en Azure. Si lo desea, puede usar Google Authenticator en su lugar.
Ahora necesita instalar y configurar Google PAM en su host Linux:
Conéctese a su host Linux a través de SSH;
-
Instale Google PAM Authenticator usando su administrador de paquetes:
Debian/Ubuntu:sudo apt-get install libpam-google-authenticatorRHEL/CentOS/Fedora:
yum install google-authenticator Ejecute el comando:
google-authenticatorLa herramienta generará y mostrará un código QR en la consola:
Ejecute la aplicación Microsoft Authenticator en su teléfono inteligente. Seleccione Agregar cuenta -> Cuenta personal -> Escanear un código QR;
Escanea el código QR con la aplicación. Aparecerá una nueva entrada para su nombre de usuario y servidor en la aplicación Authenticator. Utilizará este elemento para obtener la contraseña de un solo uso para conectarse a su host;
Tenga en cuenta que en su consola de Linux se muestran una clave secreta y códigos de emergencia;
Necesitará estos códigos para conectarse a su host si pierde o rompe su teléfono inteligente. ¡Manténgalos en un lugar seguro!
Luego, google-authenticator muestra algunas otras preguntas:
¿Quiere que los tokens de autenticación se basen en el tiempo?
Y -> Enter¿Quiere que actualice su archivo "/home/sysops/.google_authenticator"?
Y -> Enter¿Desea prohibir múltiples usos del mismo token de autenticación?
Y -> EnterDe forma predeterminada, los tokens son válidos durante 30 segundos...
Y -> EnterDe forma predeterminada, el token único cambia cada 30 segundos. Esta es la mejor opción para la mayoría de los casos. Sin embargo, es importante que su host Linux y su teléfono inteligente estén sincronizados.
¿Desea habilitar la limitación de velocidad?
Y -> EnterPuede configurar todos los ajustes a la vez: $ google-authenticator -t -f -d -w 3 -e 5 -r 3 -R 30-t: permite iniciar sesión con un código de un solo uso
-f: guarda la configuración en ~/.google_authenticator
-d: niega el uso de códigos anteriores
-w 3: permite usar un token anterior y uno posterior (si el tiempo no está sincronizado)
-e 5: genera 5 códigos de emergencia
-r 3 -R 30 - permite usar no más de 3 inicios de sesión cada 30 segundos







