SSH es una de las formas más populares de controlar su Raspberry Pi desde su computadora portátil o PC. Aquí aprenderá cómo configurar la autenticación de dos factores para su acceso SSH a Raspberry Pi y agregarle una capa adicional de seguridad.
Nota: Si está utilizando el archivo de clave SSH para acceder a su Raspberry Pi, la autenticación de dos factores no estará en uso.
Actualiza tu Pi
Suponiendo que ya configuró su Raspberry Pi con el sistema operativo Raspberry Pi, es mejor verificar primero que todo su software esté actualizado. Abra una terminal y escriba el siguiente comando:
sudo apt update && sudo apt -y upgrade
Habilitar SSH
Raspberry Pi OS tiene el servidor SSH desactivado de forma predeterminada. Antes de que pueda conectarse a su Pi a través de SSH, debe habilitarlo ejecutando los siguientes comandos de Terminal:
sudo systemctl enable ssh sudo systemctl start ssh
Ahora podrá conectarse al servidor SSH.
Requerir autenticación de identidad, con desafío-respuesta
En última instancia, su Raspberry Pi debe desafiarlo a autenticar su identidad y luego procesar su respuesta, lo que significa que debe habilitar las contraseñas de desafío y respuesta.
Para comenzar, abra el archivo de configuración de SSH para editarlo ejecutando el siguiente comando de Terminal:
sudo nano /etc/ssh/sshd_config
Dentro de este archivo, busque el ChallengeResponseAuthentication
sección y cámbiela de “no” a “sí”.
Ahora puede guardar el archivo «sshd_config» actualizado presionando Ctrl + O, seguido de Ctrl + X.
De vuelta en la Terminal, reinicie el demonio SSH con su nueva configuración:
sudo systemctl restart ssh
Dado que se han realizado cambios en la configuración de SSH, es una buena idea verificar que aún puede conectarse a su Raspberry Pi a través de SSH.
Para conectarse al servidor SSH, deberá conocer la dirección IP de su Raspberry Pi. Si aún no tiene esta información, ejecute el siguiente comando en su Pi:
Esto devolverá la dirección IP que necesita usar.
Cambie a su computadora portátil o computadora, inicie una Terminal y luego conéctese a su Raspberry Pi, asegurándose de reemplazar «10.3.000.0» con su dirección IP única:
Ahora está conectado a través de SSH.
Configuración de la autenticación de dos factores
A continuación, descargue la aplicación Authenticator para la generación del código de autenticación de un solo uso. Hay varias aplicaciones de autenticación en el mercado, pero estoy usando Google Authenticator para este tutorial, que está disponible para ambos. iOS y Androide.
Una vez que haya descargado esta aplicación móvil, también deberá instalar el módulo PAM de Google Authenticator en su Raspberry Pi.
En su Pi, abra una ventana de Terminal y ejecute el siguiente comando:
sudo apt install libpam-google-authenticator
Una vez que Google Authenticator esté instalado tanto en su Raspberry Pi como en su dispositivo móvil, estará listo para configurar la autenticación de dos factores.
Crea una conexión: vinculando tu Pi a tu dispositivo móvil
Para crear un enlace entre su aplicación móvil y su Raspberry Pi, genere un código QR en su Pi y luego escanee este código con su teléfono inteligente o tableta.
Para generar el código QR, vuelva a su Raspberry Pi y ejecute el siguiente comando de Terminal:
Su Raspberry Pi le preguntará si sus tokens de autenticación deben tener una restricción de tiempo. Dado que es más seguro, normalmente desea generar tokens de autenticación basados en el tiempo a menos que tenga una razón específica para no hacerlo.
La Terminal generará un código QR, aunque es posible que deba cambiar el tamaño de la Terminal para ver el código de barras completo.
También hay una serie de códigos de emergencia. Si alguna vez pierde, extravía o rompe su dispositivo móvil, estos códigos le permitirán acceder a su Raspberry Pi a través de SSH, incluso sin su dispositivo móvil. No se arriesgue a quedarse sin acceso a su Raspberry Pi. Tome nota de estos códigos y guárdelos en un lugar seguro.
Use este código QR para conectar su Raspberry Pi a la aplicación Google Authenticator:
1. En su teléfono inteligente o tableta, inicie la aplicación Google Authenticator.
2. En la esquina inferior derecha, toque el signo «+».
3. Seleccione «Escanear un código de barras QR». Cuando se le solicite, otorgue permiso a la aplicación para acceder a la cámara de su dispositivo.
4. Sostenga la cámara de su dispositivo frente a su monitor y colóquela sobre el código QR. Tan pronto como su teléfono inteligente o tableta reconozca el código QR, creará una cuenta y comenzará a generar códigos de autenticación automáticamente.
5. Vuelva a su Raspberry Pi; la Terminal le pedirá que actualice su archivo «google_authenticator». Presione la tecla Y en su teclado.
6. Se le preguntará si desea evitar que varias personas utilicen el mismo token de autenticación. Presione la tecla Y en su teclado.
7. Cuando se le pregunte si desea aumentar la ventana de desviación de tiempo, presione N, ya que esto lo ayudará a protegerse contra ataques de fuerza bruta.
8. La Terminal ahora le pedirá que habilite la limitación de velocidad, lo que lo restringirá a usted (¡y a los piratas informáticos potenciales!) a tres intentos de inicio de sesión cada 30 segundos. La limitación de velocidad puede ayudarlo a protegerse contra ataques de fuerza bruta y otros ataques basados en contraseñas, por lo que debe optar por «Sí» a menos que tenga una razón específica para no hacerlo.
Módulos de autenticación conectables de Linux
Finalmente, debe habilitar la autenticación de dos factores en su Raspberry Pi utilizando los Módulos de autenticación conectables (PAM) de Linux.
Para comenzar, abra el archivo «sshd» en el editor de texto Nano:
sudo nano /etc/pam.d/sshd
Agregue la siguiente línea:
auth required pam_google_authenticator.so
Sin embargo, el lugar donde agrega la siguiente línea es importante:
1. Después de ingresar su contraseña
Si desea que se le solicite un código de autenticación único después de ingresar la contraseña de su Raspberry Pi, agregue esta línea después @include
.
2. Antes de ingresar su contraseña
Si desea que se le solicite su código de autenticación único antes de ingresar su contraseña, agregue esta línea antes @include
.
Una vez que haya realizado estos cambios, guarde su archivo presionando Ctrl + O, seguido de Ctrl + X.
Reinicie el demonio SSH:
sudo systemctl restart ssh
Ahora, cada vez que intente conectarse a través de SSH, se le pedirá un código de verificación único.
Ahora que ha configurado la autenticación de dos factores en su Raspberry Pi, puede proceder a configurar su servidor web personal o un servidor de música. También puedes aumentar aún más la seguridad de tu SSH con estos trucos.