Giriş 2FA ve kilit ekranı için Yubikey Neo kullanımı


14

Ubuntu 14.04'e giriş yapmak için Yubikey Neo'yu kullanmak istiyorum. Buna ek olarak, Yubikey'i her taktığımda ekran otomatik olarak kilitlenirse rahat olur.

Yanıtlar:


12

İ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

Ben 14.04 üzerinde denedim ve hiçbiri ID_SERIAL_SHORTsadece ben atlanan oldu.
Paweł Prażak

1
Bu iş parçacığının eski olduğunu biliyorum, ancak arama yaparken hala en iyi sonuç. Anahtarınıza özgü bir tanımlayıcıyı kaldırdığınız için ID_SERIAL_SHORT öğesini kaldırmak tehlikelidir. Elbette kilidini açmak için bir komut dosyası oluşturmak istediğinizi varsayarsak. ID_SERIAL_SHORT orada değilse, kişiselleştirici aracıyla doğru bayrakları etkinleştirmediniz.
Endeks

0

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]
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.