Generar códigos para Autenticación de Dos Factores en Linux

Generar códigos para Autenticación de Dos Factores en Linux Créditos de imagen: Unsplash

Muchos sitios web y aplicaciones están preparados para admitir la Autenticación de Dos Factores (2FA, Two-Factor Authentication). El método más común para obtener el código necesario para una segunda autenticación es usar una aplicación instalada en el teléfono móvil, (p.e. Google Authenticator).

Sin embargo, si perdieras o se te averiase el teléfono te verías en un aprieto: no podrías acceder a tu cuenta mediante los métodos ordinarios, y quién sabe si conseguirías hacerlo de alguna otra forma. Por esta razón es altamente conveniente tener preparado un segundo dispositivo por si fallase el primero. En este artículo se explicará cómo generar el código 2FA en tu equipo con Linux.

Paso 1: Obtener la Clave Secreta de tu cuenta

La autenticación 2FA utiliza el algoritmo TOTP. Este algoritmo usa un código alfanumérico (único y secreto) en cada cuenta para generar, mediante la aplicación adecuada, el código que se usará en esta segunda autenticación. Por lo tanto necesitamos obtener ese código secreto para usarlo con nuestra aplicación de Linux.

Las cuentas pueden ofrecer ese código directamente como cadena alfanumérica, pero también insertarlo dentro de un código QR que deberemos escanear para obtenerlo.

Con un teléfono móvil con cámara de fotos es sencillo leer códigos QR, pero en Linux deberemos usar un programa al que le pasaremos un fichero de imagen que contenga la captura de pantalla con el código QR. Uno de estos programas, de consola en este caso, es zbarimg, cuya instalación y uso paso a detallar:

No es necesario recortar el código QR de la captura de pantalla, aunque aquél ocupe una pequeña parte de ésta.

$ sudo apt-get install zbarimg

$ zbarimg imagen-con-codigo-qr.png 
QR-Code:otpauth://totp/GoogleGMail?secret=KVC2I45KLSLH93M27SJAKFKSS 92MM36LÑD721K57X65JGD 562J5D8SSHRKF76DK2&issuer=GoogleGMail
scanned 1 barcode symbols from 1 images in 0.19 seconds

El código secreto es la cadena de caracteres que va detrás de secret=: KVC2I45KLSLH93M27SJAKFKSS 92MM36LÑD721K57X65JGD 562J5D8SSHRKF76DK2 Guárdelo en un sitio seguro, y elimine el fichero que contiene el código QR, pues ya no será necesario.

Paso 2: Obtener el segundo código de autenticación

Una vez obtenido el código secreto, se lo pasaremos a la aplicación generadora del segundo código de autenticación. Nosotros usaremos la aplicación de consola oathtool, cuya instalación y uso paso a detallar:

$ sudo apt-get install oathtool 

$ oathtool --base32 --totp "KVC2I45KLSLH93M27SJAKFKSS 92MM36LÑD721K57X65JGD 562J5D8SSHRKF76DK2"
832692

Finalmente obtendremos el segundo código de autenticación: 832692.

Artículos relacionados

Comentarios