Chcę użyć mojego Yubikey Neo do zalogowania się do Ubuntu 14.04. Ponadto byłoby dobrze, gdyby ekran był automatycznie blokowany za każdym razem, gdy odłączam Yubikey.
źródło
Chcę użyć mojego Yubikey Neo do zalogowania się do Ubuntu 14.04. Ponadto byłoby dobrze, gdyby ekran był automatycznie blokowany za każdym razem, gdy odłączam Yubikey.
Najpierw musimy skonfigurować Yubikey do reagowania na wyzwania. Dobry podręcznik dla Linuksa jest podany przez Yubico pod https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html
Teraz powinieneś być w stanie użyć swojego yubikey do uwierzytelnienia przy logowaniu. Brakuje jednego wygodnego elementu: automatycznej blokady ekranu po usunięciu kostki Yubikey.
Lekko dostosowałem HowTo z forów Yubico ( http://forum.yubico.com/viewtopic.php?f=23&t=1143 ), aby pasowały do LightDM w 14.04 i Yubikey Neo.
Przede wszystkim utwórz nowy plik z poleceniami, aby zablokować ekran, gdy Yubikey nie jest obecny:
sudo nano /usr/local/bin/yubikey
Napisz do pliku:
#!/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
Największe różnice w stosunku do oryginalnego pliku to użycie narzędzia dm (do blokowania ekranu za pomocą lightdm) i wyszukiwanego terminu Yubico, ponieważ Yubikey Neo jest zarejestrowane w „Yubico.com” w lsusb.
Zamknij i zapisz plik. Ponadto musimy uczynić plik wykonywalnym:
sudo chmod +x /usr/local/bin/yubikey
Następnie musimy znaleźć właściwości Yubikey dla właściwego przypisania.
W tym celu należy aktywować deskryptor USB. Szczegóły można znaleźć na forum Yubico .
W nowym terminalu wpisz polecenie
udevadm monitor --environment --udev
Teraz (od-) podłączasz swój yubikey i dostajesz listę identyfikatorów. Szukam
ID_VENDOR_ID
ID_MODEL_ID
ID_SERIAL_SHORT
Zostaną użyte w pliku udev do rozpoznania Yubikey.
Wskazówka: identyfikator dostawcy zmienia się, jeśli ponownie skonfigurujesz drążek (np. Przy pomocy CCID)
Ponadto utwórz plik za pomocą
sudo nano /etc/udev/rules.d/85-yubikey.rules
i wpisz następujące
# 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"
Zmień identyfikator zgodnie z kluczem. Uwaga: Możesz dodać więcej yubikey przez proste kopiowanie wklej linię z innymi identyfikatorami!
Zamknij i zapisz plik. Na koniec usługa udev musi ponownie załadować reguły:
sudo udevadm control --reload-rules
sudo service udev reload
ID_SERIAL_SHORT
więc po prostu pominąłem.Możesz także dodać zabijanie wszystkich TTY za pomocą
pkill -KILL -t
:Wydaje się również, że istnieje problem z uprawnieniami do plików
lightdm
, aby go rozwiązać:źródło