¿Cómo configurar la autenticación de dos factores en Ubuntu para los usuarios de Ubuntu que usan el autenticador de Google (también se puede configurar para cuentas que no son de Google)?
¿Cómo configurar la autenticación de dos factores en Ubuntu para los usuarios de Ubuntu que usan el autenticador de Google (también se puede configurar para cuentas que no son de Google)?
Nota: Una vez que haya activado la autenticación de 2 factores para un usuario y no haya configurado la misma para root, nunca podrá iniciar sesión como root directamente. En tal caso, una forma de evitarlo es usar cualquier otro usuario de sudo para el que lo tengamos configurado y luego usar sudo su -
para cambiar al usuario raíz.
Use los pasos a continuación para configurarlo.
Instale a continuación el paquete dado para instalar el autenticador de Google que usaremos como complemento con la autenticación PAM:
sudo apt-get install libpam-google-authenticator
Ahora edite /etc/pam.d/sshd
este archivo y agregue Google Authenticator como se indica a continuación:
*sudo vim /etc/pam.d/sshd
ingrese abajo en la parte superior este archivo
auth required pam_google_authenticator.so
Aquí tenemos que hacer cambios /etc/ssh/sshd_config
para asegurarnos de que ssh usa el Autenticador de Google, de esta manera nos aseguramos de que ssh esté usando la autenticación de dos factores.
vim /etc/ssh/sshd_config
En este archivo tenemos que encontrarlo ChallengeResponseAuthentication
y descomentarlo y / o modificarlo para que se vea a continuación (en resumen, configúrelo en sí: P):
ChallengeResponseAuthentication yes
Autenticación extra o GUI de 2 factores; de lo contrario, omita esto y vaya al paso 4: Para habilitarlo para el inicio de sesión GUI, edite /etc/pam.d/common-auth
:
sudo vim /etc/pam.d/common-auth
y ahora agregue esto auth required pam_google_authenticator.so
sobre la línea y auth [success=1 default=ignore] pam_unix.so nullok_secure
luego guarde el archivo.
Ahora cambie a una cuenta en la que desea configurarla.
( Nota: sugeriría crear al menos dos cuentas de superusuario en el sistema aparte de la cuenta raíz y configurarlo al menos, para una de ellas primero pero no para la cuenta raíz).
sudo su - testuser1
Ahora usaremos el siguiente comando para configurar la autenticación de dos factores para esto testuser1
:
google-authenticator
Ejecutar este comando te hará la siguiente pregunta. (la respuesta recomendada es sí)
¿Desea que los tokens de autenticación se basen en el tiempo (y / n) y
Después de eso, le mostrará el código QR y los Códigos de emergencia y algunos otros detalles. La salida debería verse como la imagen dada a continuación:
Ahora debe usar su teléfono Android / Apple / Blackberry para descargar e instalar la aplicación Google Authenticator desde los respectivos mercados, por ejemplo, Google Play Store. que generará código para que inicies sesión.
A continuación se muestra la captura de pantalla del ícono de la aplicación y la aplicación tomada de la aplicación del teléfono Android.
Inicie la aplicación en su teléfono y escanee el Código QR o use la clave secreta y el código de verificación que se encuentra debajo del código QR en el sistema, que también puede ver en la primera captura de pantalla anterior.
Una vez que todo esto esté hecho, es muy importante anotar y guardar sus códigos de emergencia en un lugar seguro, ya que esos son los códigos que pueden ayudarlo en caso de que quede bloqueado de alguna manera.
En este momento, debe echar un vistazo a la parte inferior de la pantalla donde le está haciendo una pregunta a continuación. (la respuesta recomendada es Sí):
¿Desea que actualice su archivo "/home/testuser1/.google_authenticator" (y / n) y
Nuevamente le hará una pregunta más y la respuesta recomendada para la siguiente pregunta también es Sí:
¿Desea no permitir múltiples usos del mismo token de autenticación? Esto lo restringe a un inicio de sesión cada 30 segundos, pero aumenta sus posibilidades de notar o incluso prevenir ataques de hombre en el medio (y / n) y
La siguiente pregunta sería la siguiente y la respuesta recomendada es No:
Por defecto, los tokens son válidos por 30 segundos y para compensar el posible desfase temporal entre el cliente y el servidor, permitimos un token adicional antes y después de la hora actual. Si tiene problemas con la sincronización deficiente de tiempo, puede aumentar la ventana de su tamaño predeterminado de 1: 30min a aproximadamente 4min. ¿Quieres hacerlo? (S / n) n
Y la última pregunta sería la siguiente y la respuesta recomendada es Sí:
Si la computadora en la que está iniciando sesión no está protegida contra los intentos de inicio de sesión por fuerza bruta, puede habilitar la limitación de velocidad para el módulo de autenticación. Por defecto, esto limita a los atacantes a no más de 3 intentos de inicio de sesión cada 30 segundos. ¿Desea habilitar la limitación de velocidad (y / n) y
Ahora cambie la salida de esta cuenta para volver a la cuenta raíz:
exit
Ahora reinicie el servicio ssh
service ssh restart
Ahora solo tome una sesión ssh para el usuario para el que lo configuró y primero le pedirá un código de verificación que puede ingresar desde su teléfono móvil y luego le pedirá una contraseña de usuario.
Eso es todo lo que se requiere para configurar la autenticación de dos factores. Por favor, siéntase libre de mejorar la respuesta donde sea necesario y discúlpeme por el idioma no tan bueno.
auth optional
lugar deauth required
. De lo contrario, ya no es posible iniciar sesión si la sesión falla y el proceso no ha finalizado.