¿Quiere proteger su servidor SSH con autenticación de dos factores fácil de usar? Google proporciona el software necesario para integrar el sistema de contraseña de un solo uso (TOTP) de Google Authenticator con su servidor SSH. Deberá ingresar el código de su teléfono cuando se conecte.
Google Authenticator no "llama a casa" a Google; todo el trabajo ocurre en su servidor SSH y su teléfono. De hecho, Google Authenticator es completamente de código abierto , por lo que incluso puede examinar su código fuente usted mismo.
Instalar Google Authenticator
Para implementar la autenticación multifactor con Google Authenticator, necesitaremos el módulo PAM de Google Authenticator de código abierto. PAM significa "módulo de autenticación conectable": es una forma de conectar fácilmente diferentes formas de autenticación en un sistema Linux.
Los repositorios de software de Ubuntu contienen un paquete fácil de instalar para el módulo Google Authenticator PAM. Si su distribución de Linux no contiene un paquete para esto, tendrá que descargarlo del Página de descargas de Google Authenticator en Google Code y compílelo usted mismo.
Para instalar el paquete en Ubuntu, ejecute el siguiente comando:
sudo apt-get install libpam-google-authenticator
(Esto solo instalará el módulo PAM en nuestro sistema; tendremos que activarlo para los inicios de sesión SSH manualmente).
Cree una clave de autenticación
Inicie sesión como el usuario con el que iniciará sesión de forma remota y ejecute el autenticador de google comando para crear una clave secreta para ese usuario.
Permita que el comando actualice su archivo Google Authenticator escribiendo y. A continuación, se le solicitarán varias preguntas que le permitirán restringir los usos del mismo token de seguridad temporal, aumentar la ventana de tiempo para la que se pueden usar los tokens y limitar los intentos de acceso permitidos para obstaculizar los intentos de craqueo por fuerza bruta. Todas estas opciones cambian algo de seguridad por algo de facilidad de uso.
Google Authenticator le presentará una clave secreta y varios "códigos de emergencia". Anote los códigos de emergencia en un lugar seguro; solo se pueden usar una vez cada uno y están diseñados para usarse si pierde su teléfono.
Ingrese la clave secreta en la aplicación Google Authenticator en su teléfono (las aplicaciones oficiales están disponibles para Android, iOS y Blackberry ). También puede usar la función de escaneo de código de barras: vaya a la URL ubicada cerca de la parte superior de la salida del comando y puede escanear un código QR con la cámara de su teléfono.
Ahora tendrás un código de verificación que cambia constantemente en tu teléfono.
Si desea iniciar sesión de forma remota como varios usuarios, ejecute este comando para cada usuario. Cada usuario tendrá su propia clave secreta y sus propios códigos.
Activar Autenticador de Google
A continuación, deberá solicitar Google Authenticator para los inicios de sesión SSH. Para hacerlo, abra el /etc/pam.d/sshd archivo en su sistema (por ejemplo, con el sudo nano /etc/pam.d/sshd comando) y agregue la siguiente línea al archivo:
auth requiere pam_google_authenticator.so
A continuación, abra el / etc / ssh / sshd_config archivo, busque el ChallengeResponseAuthentication línea y cámbielo para que diga lo siguiente:
ChallengeResponseAuthentication sí
(Si el ChallengeResponseAuthentication la línea no existe todavía, agregue la línea anterior al archivo).
Finalmente, reinicie el servidor SSH para que sus cambios surtan efecto:
reinicio de ssh del servicio sudo
Se le pedirá tanto su contraseña como el código del Autenticador de Google cada vez que intente iniciar sesión a través de SSH.