Tengo configurado el "two step authentication" con mi cuenta de GMail, y el caso es que se me ocurrió que podría estar bien si se pudiese usar esto también para otras cosas aparte de GMail.
Buscando, resulta que hay un módulo PAM creado para usar el Google Authenticator en Linux. Podéis ver una guía más detallada
aquí, pero básicamente los pasos son los siguientes:
1.-Instalar el PAMsudo apt-get install libpam-google-authenticatorEl módulo está en los repositorios de Ubuntu, si no estuviese en el de alguna otra distro se puede conseguir
aquí.2.-Configurar la clave privada y las opcionesLanzamos este comando con el usuario con el que vayamos a usar la autenticación en dos pasos:
google-authenticatorNos saldrá un código QR que escanearemos con la aplicación Google Authenticator del móvil.
Debajo del QR nos salen algunos códigos que deberemos copiar y guardar en algún sitio seguro. Los últimos cuatro códigos que nos dan aquí son claves de un sólo uso que podremos usar si se nos estropease o perdiese el móvil.
Después de esto nos hace algunas preguntas sobre opciones de configuración, que responderemos según se ajuste a nuestras necesidades.
3.-Integrar el nuevo PAM en el loginDentro de la ruta /etc/pam.d tenemos varios archivos de configuración para distintos tipos de login. Para agregar el PAM a cualquiera de ellos lo editamos y agregamos esto al final del archivo:
auth required pam_google_authenticator.soLo más interesante es usarlo en /etc/pam.d/sshd, para tener autenticación de dos pasos en nuestras conexiones ssh, pero también podemos añadirlo a gdm (o lightdm, o kdm) para que nos pida el código de validación en los logins locales.
Si alguien se decide por probar esto, tened en cuenta que trastear con los PAM es algo delicado y si algo va mal podéis veros bloqueados fuera de vuestra máquina sin poder hacer login. En este caso tendríais que arrancar desde un livecd, editar el archivo correspondiente en /etc/pam.d y borrar la línea del PAM de Google Authenticator (vamos, que no es una catástrofe, pero por tenerlo en cuenta).