Quiero usar mi Yubikey Neo para iniciar sesión en Ubuntu 14.04. Además, sería conveniente que la pantalla se bloqueara automáticamente cada vez que desconecte el Yubikey.
fuente
Quiero usar mi Yubikey Neo para iniciar sesión en Ubuntu 14.04. Además, sería conveniente que la pantalla se bloqueara automáticamente cada vez que desconecte el Yubikey.
Primero, necesitamos configurar el Yubikey para la respuesta al desafío. Yubico proporciona un buen manual para Linux en https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html
Ahora debería poder usar su yubikey para la autenticación al iniciar sesión. Falta una pieza conveniente: el bloqueo automático de la pantalla cuando se quita el Yubikey.
Adapte un poco el HowTo de los foros de Yubico ( http://forum.yubico.com/viewtopic.php?f=23&t=1143 ) para que coincida con LightDM en 14.04 y el Yubikey Neo.
En primer lugar, cree un nuevo archivo con los comandos para bloquear la pantalla cuando el Yubikey no esté presente:
sudo nano /usr/local/bin/yubikey
Escriba lo siguiente en el archivo:
#!/bin/bash
# Double checking if the Yubikey is actually removed, Challenge-Response won't trigger the screensaver this way.
if [ -z "$(lsusb | grep Yubico)" ]; then
logger "YubiKey Removed or Changed"
# Running the LightDM lock command
export XDG_SEAT_PATH="/org/freedesktop/DisplayManager/Seat0"
/usr/bin/dm-tool lock
fi
Las mayores diferencias con el archivo original es el uso de la herramienta dm (para bloquear la pantalla con lightdm) y el término de búsqueda Yubico, ya que Yubikey Neo está registrado con „Yubico.com“ en lsusb.
Cierra y guarda el archivo. Además, tenemos que hacer que el archivo sea ejecutable:
sudo chmod +x /usr/local/bin/yubikey
A continuación, tenemos que encontrar las propiedades del Yubikey para una asignación adecuada.
Para esto, el descriptor USB debe estar activado. Los detalles se pueden encontrar en el foro de Yubico .
En una nueva terminal, escriba el comando
udevadm monitor --environment --udev
Ahora usted (des-) conecta su yubikey y obtiene una lista de ID. Buscando
ID_VENDOR_ID
ID_MODEL_ID
ID_SERIAL_SHORT
Se utilizarán en el archivo udev para el reconocimiento de Yubikey.
Insinuación: la ID del proveedor cambia si reconfigura el dispositivo (por ejemplo, con CCID)
Además, cree un archivo con
sudo nano /etc/udev/rules.d/85-yubikey.rules
y escriba lo siguiente
# Yubikey Udev Rule: running a bash script in case your Yubikey is removed
ACTION=="remove", ENV{ID_VENDOR_ID}=="1050", ENV{ID_MODEL_ID}=="0010", ENV{ID_SERIAL_SHORT}=="0001711399", RUN+="/usr/local/bin/yubikey"
Cambie la identificación de acuerdo con su clave. Nota: ¡Puede agregar más yubikey simplemente copiando y pegando la línea con otros ID!
Cierra y guarda el archivo. Finalmente, el servicio udev tiene que recargar las reglas:
sudo udevadm control --reload-rules
sudo service udev reload
ID_SERIAL_SHORT
así que simplemente me salté.También puede agregar matar a todos los TTY usando
pkill -KILL -t
:También parece haber un problema con los permisos de archivo de
lightdm
, para resolverlo:fuente