Yanıtlar:
İlk olarak, Yubikey'i meydan okuma yanıtı için yapılandırmamız gerekiyor. Yubico tarafından Linux için iyi bir el kitabı https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html altında verilmiştir.
Şimdi girişinizde kimlik doğrulaması için yubikey'nizi kullanabilmeniz gerekir. Uygun bir parça eksik: Die Yubikey kaldırıldığında ekranın otomatik kilidi.
Yubico forumlarından ( http://forum.yubico.com/viewtopic.php?f=23&t=1143 ) HowTo'yu 14.04'teki LightDM ve Yubikey Neo ile eşleşecek şekilde biraz uyarladım.
Her şeyden önce, Yubikey mevcut olmadığında ekranı kilitlemek için komutlarla yeni bir dosya oluşturun:
sudo nano /usr/local/bin/yubikey
Dosyaya aşağıdakileri yazın:
#!/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
Orijinal dosyadaki en büyük fark, dm-tool'un (ekranı lightdm ile kilitlemek için) ve Yubico arama teriminin kullanılmasıdır, çünkü Yubikey Neo lsusb'de „Yubico.com“ ile kayıtlıdır.
Dosyayı kapatın ve kaydedin. Ayrıca, dosyayı yürütülebilir yapmalıyız:
sudo chmod +x /usr/local/bin/yubikey
Daha sonra, uygun bir görev için Yubikey'nin özelliklerini bulmalıyız.
Bunun için USB tanımlayıcı etkinleştirilmelidir. Ayrıntılar Yubico forumunda bulunabilir .
Yeni bir terminalde komutu yazın
udevadm monitor --environment --udev
Şimdi yubikey'nizi (un-) takın ve ID'lerin bir listesini alın. Aramak
ID_VENDOR_ID
ID_MODEL_ID
ID_SERIAL_SHORT
Bunlar Udev dosyasında Yubikey'nin tanınması için kullanılacaktır.
İpucu: Çubuğu yeniden yapılandırırsanız satıcı kimliği değişir (örneğin CCID ile)
Ayrıca,
sudo nano /etc/udev/rules.d/85-yubikey.rules
ve aşağıdakileri yazın
# 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"
Kimliği anahtarınıza göre değiştirin. Not: Diğer kopyalarla çizgiyi yapıştırmak için daha fazla yubikey ekleyebilirsiniz!
Dosyayı kapatın ve kaydedin. Son olarak, udev hizmetinin kuralları yeniden yüklemesi gerekir:
sudo udevadm control --reload-rules
sudo service udev reload
Ayrıca aşağıdakileri kullanarak tüm TTY'leri öldürmeyi de ekleyebilirsiniz pkill -KILL -t
:
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
ACTIVE_TTY=$(who | awk '{ print $2 }' | grep tty | uniq)
echo $ACTIVE_TTY | xargs -I {} pkill -KILL -t {}
fi
Ayrıca lightdm
, gelen dosya izinleriyle ilgili bir sorun var gibi görünüyor :
sudo chown lightdm:root /etc/yubico/[user]-[number]
ID_SERIAL_SHORT
sadece ben atlanan oldu.