Autenticación 2FA por SSH en tu Raspberry Pi

En este tutorial vamos habilitar la autenticación de 2 factores, o 2FA en nuestra Raspberry Pi, de esta forma cada vez que nos conectamos vía SSH nos pedirá la contraseña definida y además de código temporal (Google Autenticator). 

Este tutorial aplica tanto para Raspi como cualquiera sistema operativo linux.

Pasos a seguir;

Actualizar nuestro sistema.

sudo apt update && sudo apt upgrade -y

Una vez actualizada debemos instalar los siguientes paquetes.

sudo apt install -y libpam-google-authenticator libpam-oath

Después, habilitaremos el módulo PAM en el servicio SSH, para ello editamos el fichero sshd.

sudo nano /etc/pam.d/sshd

Y le añadimos estas líneas al fichero (al final del mismo por ejemplo)

# Set access login by Google Autenticator

auth required pam_google_authenticator.so

En el fichero sshd_config, editamos la línea ChallengeResponseAuthentication, por defecto está en "no", la cambiamos por el valor "yes" (sin comillas), dejándola de la siguiente manera: ChallengeResponseAuthentication yes

sudo nano /etc/ssh/sshd_config

Reiniciamos el servicio SSH y comprobamos el estado del servicio.

sudo systemctl restart sshd.service

sudo systemctl status sshd.service

Ahora pasamos a configurar el 2FA

Con la aplicación Google Autenticator ya sea en nuestro móvil Iphone o Android, la abrimos y pulsamos el símbolo +, escanea el código QR que aparecerá al introducir el siguiente comando;

google-authenticator

Nos aparecerá un código QR enorme, lo debemos escanear desde la aplicación Google Autenticator y responder a las preguntas que nos solicita.

Make tokens “time-base”: yes

Update the .google_authenticator file: yes

Disallow multiple uses: yes

Increase the original generation time limit: no

Enable rate-limiting: yes




Done! Ya podrás iniciar sesión SSH con 2FA, primeramente nos solicitara la contraseña que tengamos, y luego el código temporal que aparece en la aplicación Google Autenticator.




Comentarios