![Cómo trabajar con variables y hechos de Ansible](/f/833206c62753f3fd0fb69bea40d08c7e.png?width=100&height=100)
Por defecto, SSH ya utiliza una comunicación de datos segura entre máquinas remotas, pero si desea agregar una capa de seguridad adicional a sus conexiones SSH, puede agregar una Autenticador de Google (Autenticación de dos factores) módulo que le permite ingresar una contraseña aleatoria de un solo uso (TOTP) código de verificación mientras se conecta a SSH servidores. Deberá ingresar el código de verificación de su smartphone o ordenador personal cuando te conectas.
El Autenticador de Google es un módulo de código abierto que incluye implementaciones de códigos de acceso de un solo uso (TOTP) token de verificación desarrollado por Google. Es compatible con varias plataformas móviles, así como PAM (módulo de autenticación conectable). Estos códigos de acceso de un solo uso se generan utilizando estándares abiertos creados por el JURAMENTOIniciativa para la autenticación abierta).
En este artículo, le mostraré cómo instalar y configurar SSH para la autenticación de dos factores bajo sombrero rojo, CentOS, Fedora y Ubuntu, Linux Mint y Debian.
Abra la máquina en la que desea configurar la autenticación de dos factores e instálela a continuación PAM bibliotecas junto con las bibliotecas de desarrollo que se necesitan para la PAM módulo para trabajar correctamente con Autenticador de Google módulo.
En sombrero rojo, CentOS y Fedora los sistemas instalan el "pam-devel' paquete.
# yum install pam-devel hace automake libtool gcc-c ++ wget
En Ubuntu, Linux Mint y Debian instalación de sistemas "libpam0g-dev' paquete.
# apt-get install libpam0g-dev make automake libtool gcc-c ++ wget.
Ahora clone e instale el Autenticador de Google módulo debajo Casa directorio (suponga que ya ha iniciado sesión en el directorio de inicio de raíz) usando lo siguiente comando git.
# git clon https://github.com/google/google-authenticator-libpam.git. # cd google-authenticator-libpam / # ./bootstrap.sh. # ./configure. # hacer. # hacer la instalación. # autenticador de google.
Una vez que corras "autenticador de google"Comando, le pedirá una pregunta seria. Simplemente escriba "y” (sí) como la respuesta en la mayoría de situaciones. Si algo sale mal, puede volver a escribir "autenticador de google"Comando para restablecer la configuración.
Después de esta pregunta, obtendrá su "llave secreta' y 'códigos de emergencia‘. Escriba estos detalles en algún lugar, necesitaremos el 'llave secreta"Más adelante para configurar Autenticador de Google aplicación.
[[correo electrónico protegido] google-authenticator-libpam] # google-authenticator ¿Desea que los tokens de autenticación se basen en el tiempo (sí / no)? y https://www.google.com/chart? chs = 200x200 & chld = M | 0 & cht = qr & chl = otpauth: // totp /[correo electrónico protegido]% 3Fsecret% 3DXEKITDTYCBA2TLPL. Tu nuevo llave secreta es: XEKITDTYCBA2TLPL Tu código de verificación es 461618. Tu códigos de emergencia de cero son: 65083399 10733609 47588351 71111643 92017550.
A continuación, siga el asistente de configuración y, en la mayoría de los casos, escriba la respuesta como "y” (sí) Como se muestra abajo.
¿Quieres que actualice tu archivo "/root/.google_authenticator" (s / n)? y ¿Desea no permitir múltiples usos de la misma autenticación? ¿simbólico? Esto lo restringe a un inicio de sesión cada 30 segundos, pero aumenta. sus posibilidades de notar o incluso prevenir ataques man-in-the-middle (sí / no) y De forma predeterminada, los tokens son válidos durante 30 segundos y para compensar. posible desviación de tiempo entre el cliente y el servidor, permitimos un extra. token antes y después de la hora actual. Si tiene problemas con los archivos deficientes. sincronización de tiempo, puede aumentar la ventana desde su valor predeterminado. tamaño de 1: 30min a aproximadamente 4min. ¿Quieres hacerlo? (S / n) y Si la computadora en la que está iniciando sesión no está protegida contra la fuerza bruta. intentos de inicio de sesión, puede habilitar la limitación de velocidad para el módulo de autenticación. De forma predeterminada, 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 (sí / no)? y.
Abre el PAM archivo de configuración '/etc/pam.d/sshd"Y agregue la siguiente línea al principio del archivo.
auth requiere pam_google_authenticator.so
A continuación, abra el SSH archivo de configuración '/etc/ssh/sshd_config"Y desplácese hacia abajo para encontrar la línea que dice.
ChallengeResponseAuthentication no
Cámbielo a "sí“. Entonces, se vuelve así.
ChallengeResponseAuthentication sí
Finalmente, reinicia SSH servicio para tomar nuevos cambios.
# /etc/init.d/sshd reiniciar
Lanzamiento Autenticador de Google aplicación en su teléfono inteligente. Prensa Menú y elige "Configurar una cuenta“. Si no tiene esta aplicación, puede descargarla e instalarla Autenticador de Google aplicación en tu Android / iPhone / Blackberry dispositivos.
Prensa "Ingrese la clave proporcionada”.
Agregue su cuenta "Nombre"E ingrese el"llave secreta"Generado anteriormente.
Generará una contraseña única (código de verificación) que cambiará constantemente cada 30 segundos en tu teléfono.
Ahora intente iniciar sesión a través de SSH, se le pedirá Código del Autenticador de Google (Código de verificación) y Clave siempre que intente iniciar sesión a través de SSH. Solo tienes 30 segundos para ingresar este código de verificación, si lo pierde, se generará un nuevo código de verificación.
iniciar sesión como: tecmint. Acceso denegado. Usando autenticación interactiva con el teclado. Código de verificación: Usando autenticación interactiva con el teclado. Contraseña: Último inicio de sesión: Mar 23 de abril 13:58:29 2013 desde 172.16.25.125. [[correo electrónico protegido] ~]#
Si no tiene un teléfono inteligente, también puede usar un Firefox complemento llamado Autenticador GAuth para realizar la autenticación de dos factores.
Importante: La autenticación de dos factores funciona con el inicio de sesión SSH basado en contraseña. Si está usando alguna sesión SSH de clave privada / pública, ignorará la autenticación de dos factores y lo iniciará directamente.