Cómo activar, configurar y usar una YubiKey en Ubuntu

⚠️ Nota importante

Este artículo tiene más de un año. La tecnología evoluciona rápido, por lo que algunos contenidos o instrucciones pueden estar desactualizados. Recuerda buscar información reciente y actualizada.

Las siguientes son las instrucciones necesarias para poner a funcionar una YubiKey en Ubuntu en los navegadores Google Chrome y Firefox y con el sistema operativo en general. Es proceso es muy rápido y sencillo pero requiere de privilegios de administrador en el sistema y la ejecución de unos pocos comandos en la terminal. 

Configuración básica 

El paso más esencial para poder utilizar la YubiKey en Ubuntu requiere de la creación de un archivo llamado 70-u2f.rules en la ubicación /etc/udev/rules.d/ del sistema. Este archivo debe contener la información del repositorio oficial de Yubico en GitHub. Para crear el archivo se puede usar cualquier método con el usuario se sienta cómodo pero opcionalmente se puede ejecutar el siguiente comando para facilitar el proceso:

sudo gedit /etc/udev/rules.d/70-u2f.rules

En la ventana que se abre copiar y pegar la siguiente información (verificar que sea igual a la versión actualizada en el repositorio):

# this udev file should be used with udev 188 and newer
ACTION!="add|change", GOTO="u2f_end"

# Yubico YubiKey
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0200|0402|0403|0406|0407|0410", TAG+="uaccess"

# Happlink (formerly Plug-Up) Security KEY
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0", TAG+="uaccess"

# Neowave Keydo and Keydo AES
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e0d", ATTRS{idProduct}=="f1d0|f1ae", TAG+="uaccess"

# HyperSecu HyperFIDO
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e|2ccf", ATTRS{idProduct}=="0880", TAG+="uaccess"

# Feitian ePass FIDO, BioPass FIDO2
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850|0852|0853|0854|0856|0858|085a|085b|085d", TAG+="uaccess"

# JaCarta U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="24dc", ATTRS{idProduct}=="0101", TAG+="uaccess"

# U2F Zero
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="8acf", TAG+="uaccess"

# VASCO SeccureClick
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1a44", ATTRS{idProduct}=="00bb", TAG+="uaccess"

# Bluink Key
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2abe", ATTRS{idProduct}=="1002", TAG+="uaccess"

# Thetis Key
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1ea8", ATTRS{idProduct}=="f025", TAG+="uaccess"

# Nitrokey FIDO U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4287", TAG+="uaccess"

# Google Titan U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="5026", TAG+="uaccess"

# Tomu board + chopstx U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="cdab", TAG+="uaccess"

LABEL="u2f_end"

Se guardan los cambios y todo quedará listo para utilizar la YubiKey en el ordenador. 

Configuración del navegador

En el caso de Chrome, la compatibilidad con YubiKey y U2F viene habilitada por defecto por lo que será posible comenzar a utilizarla una vez realizados los pasos anteriores. La autenticación de dos factores (U2F) utilizando YubiKey y FIDO2 puede ser habilitada fácilmente en cuentas de Google, Dropbox, GitHub y muchísimos servicios y sitios web más siguiendo las instrucciones facilitadas por cada uno. 

En el caso de Firefox, al momento de escribir este artículo no cuenta con la funcionalidad habilitada por defecto. Para habilitar U2F con YubiKey en Firefox hay que dirigirse a la configuración avanzada del navegador escribiendo about:config en la barra superior, buscando la opción security.webauth.u2f y haciendo doble clic donde dice false de forma que se convierta en true

Configuración adicional opcional

Yubico ofrece una serie de herramientas con interfaz gráfica para realizar todas las configuraciones en Linux. Para instalarlas primero hay que habilitar el repositorio oficial de Yubico con el siguiente comando:

sudo add-apt-repository ppa:yubico/stable

Para instalar las 4 herramientas básicas de gestión de la YubiKey se ejecuta el siguiente comando: 

sudo apt install yubikey-manager-qt yubikey-personalization-gui yubioath-desktop yubikey-piv-manager

Puede que no todos los usuarios necesiten todas por lo que podrán omitir las que no ocupen del comando o desinstalarlas posteriormente con el comando (se escriben solo las que se desea eliminar): 

sudo apt remove yubikey-manager-qt yubikey-personalization-gui yubioath-desktop yubikey-piv-manager

Funcionalidades adicionales

Si se desea utilizar la YubiKey como Smart Card (PIV) compatible con PKCS#11 o para utilizarla en modo tarjeta GPG (almacenamiento de llaves criptográficas de OpenPGP y utilizarla con GnuPGP para cifrar archivos) es necesario instalar las siguientes herramientas:

sudo apt install opensc-pkcs11 pcscd scdaemon gnupg2 pcsc-tools

Si se desea utilizar la YubiKey para iniciar sesión y elevar privilegios se necesita instalar la siguiente librería (repositorio oficial de paso previo es requerido):

sudo apt install libpam-u2f

De esta forma es posible aprovechar las múltiples funcionalidades que tiene este dispositivo en el sistema operativo Ubuntu.

Fundador
Seguidor de Jesús. Escribo artículos en mi tiempo libre sobre temas de tecnología que me interesan.