Este tutorial le mostrará cómo configurar la autenticación de dos factores SSH en servidor Ubuntu 16.04 utilizando el conocido Google Authenticator. Una vez que lo configure, la seguridad de su servidor SSH aumentará enormemente.
Cómo funciona el Autenticador de Google
La autenticación de dos factores, también conocida como verificación de dos pasos, requiere que ingrese dos datos para iniciar sesión. Google Authenticator genera una contraseña de un solo uso utilizando una clave secreta compartida y la hora actual. No solo debe proporcionar el nombre de usuario y la contraseña correctos, sino que también debe ingresar una contraseña de un solo uso generada por Google Authenticator para iniciar sesión en su servidor SSH.
Paso 1:Instale y configure Google Authenticator en el servidor Ubuntu 16.04
Inicie sesión en su servidor Ubuntu y ejecute el siguiente comando para instalar Google Authenticator desde el repositorio de paquetes predeterminado de Ubuntu.
sudo apt install libpam-google-authenticator
Luego ejecute el google-authenticator
comando para crear una nueva clave secreta en su directorio de inicio.
google-authenticator
Cuando se le preguntó "¿Desea que los tokens de autenticación se basen en el tiempo?" Responda y . A continuación, se le mostrará un código QR que puede escanear con el Autenticador de Google. aplicación móvil.
Instale la aplicación Google Authenticator a través de Google Play o la tienda de aplicaciones de Apple en su teléfono móvil y escanee el código QR. El código QR representa la clave secreta, que solo conocen su servidor SSH y su aplicación Google Authenticator. Una vez que se escanea el código QR, puede ver una contraseña de un solo uso de seis dígitos en su teléfono. Por defecto tiene una duración de 30 segundos.
Puede ver la clave secreta, el código de verificación y el código de emergencia en la ventana de la terminal. Se recomienda guardar esta información en un lugar seguro para su uso posterior.
Luego puede ingresar y para responder a todas las preguntas restantes. Esto actualizará su archivo de configuración de Google Authenticator, deshabilitará múltiples usos del mismo token de autenticación, aumentará la ventana de tiempo y habilitará la limitación de velocidad para proteger contra intentos de inicio de sesión de fuerza bruta.
Paso 2:configurar SSH Daemon para usar Google Authenticator
Abra el archivo de configuración del servidor SSH.
sudo nano /etc/ssh/sshd_config
PAM significa módulo de autenticación enchufable. Proporciona una manera fácil de conectar diferentes métodos de autenticación en su sistema Linux. Para habilitar Google Authenticator con SSH, la autenticación PAM y Desafío-Respuesta debe estar habilitada. Así que busque las siguientes dos líneas en el archivo y asegúrese de que ambas estén configuradas en yes .
UsePAM yes ChallengeResponseAuthentication yes
Guarde y cierre el archivo. Luego reinicie el demonio SSH.
sudo systemctl restart ssh
A continuación, edite el archivo de reglas PAM para el demonio SSH.
sudo nano /etc/pam.d/sshd
Agregue la siguiente entrada al final del archivo.
auth required pam_google_authenticator.so
Guarde y cierre el archivo. A partir de ahora, el demonio SSH utilizará Google Authenticator.
Paso 3:pruebe su autenticación de dos factores SSH
Ahora abra una ventana de terminal separada e intente iniciar sesión en su servidor SSH. No cierre su sesión SSH actual. Si algo sale mal, puede solucionarlo en su sesión SSH actual. Si todo está configurado correctamente, se le pedirá que ingrese su contraseña de usuario y la contraseña de un solo uso.
También tenga en cuenta que cada usuario en su servidor Ubuntu 16.04 debe ejecutar google-authenticator
comando y escanee el código QR para usar la autenticación de dos factores.
Código Scratch de emergencia
El código Scratch de emergencia es su código de respaldo. Si pierde su teléfono, puede ingresar uno de los cinco códigos de emergencia en lugar de una contraseña de un solo uso para completar la verificación de dos pasos. Tenga en cuenta que estos códigos son para un solo uso.
Uso de un segundo teléfono
Si tiene un segundo teléfono, puede instalar la aplicación Google Authenticator en su segundo teléfono e ingresar manualmente la clave secreta. Esto es lo mismo que escanear un código QR.
Si desea cambiar la clave secreta, simplemente inicie sesión en su servidor y ejecute google-authenticator
comando de nuevo para actualizar el ~/.google_authenticator
archivo.
Sincronización de tiempo
Dado que la contraseña de un solo uso se calcula con la clave secreta compartida y la hora actual, es una buena idea habilitar la sincronización de hora NTP en su servidor Ubuntu 16.04.
Espero que este tutorial le haya ayudado a configurar la autenticación de dos factores SSH en el servidor Ubuntu 16.04. Como siempre, si esta publicación le resultó útil, suscríbase a nuestro boletín gratuito.