Primeiro, precisamos configurar o Yubikey para a resposta do desafio. Um bom manual para Linux é dado por Yubico sob link
Agora você deve poder usar seu yubikey para autenticação no login. Uma peça conveniente está faltando: A trava automática da tela quando o Yubikey é removido.
Eu adaptei um pouco o HowTo dos fóruns do Yubico ( link ) para combinar LightDM em 14.04 e o Yubikey Neo.
Primeiro, crie um novo arquivo com os comandos para bloquear a tela quando o Yubikey não estiver presente:
sudo nano /usr/local/bin/yubikey
Escreva o seguinte no arquivo:
#!/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
As maiores diferenças em relação ao arquivo original são o uso da ferramenta dm (para bloquear a tela com lightdm) e o termo de pesquisa Yubico, já que o Yubikey Neo é registrado com "Yubico.com" em lsusb.
Feche e salve o arquivo. Além disso, temos que tornar o arquivo executável:
sudo chmod +x /usr/local/bin/yubikey
Em seguida, temos que encontrar as propriedades do Yubikey para uma atribuição adequada.
Para isso, o descritor USB deve estar ativado. Detalhes podem ser encontrados no fórum do Yubico .
Em um novo tipo de terminal no comando
udevadm monitor --environment --udev
Agora você (un) conecta seu yubikey e obtém uma lista de IDs. Procurando por
ID_VENDOR_ID
ID_MODEL_ID
ID_SERIAL_SHORT
Eles serão usados no arquivo udev para reconhecimento do Yubikey.
Dica: O ID do fornecedor muda se você reconfigurar o bastão (por exemplo, com CCID)
Além disso, crie um arquivo com
sudo nano /etc/udev/rules.d/85-yubikey.rules
e digite o seguinte
# 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"
Altere o ID de acordo com sua chave. Nota: Você pode adicionar mais yubikey por simples copiar e colar a linha com outros IDs!
Feche e salve o arquivo. Finalmente, o serviço do udev tem que recarregar as regras:
sudo udevadm control --reload-rules
sudo service udev reload