Penggunaan Yubikey Neo untuk login 2FA dan layar kunci


13

Saya ingin menggunakan Yubikey Neo saya untuk login ke Ubuntu 14.04. Selain itu, akan sangat nyaman jika layar terkunci secara otomatis setiap kali saya mencabut Yubikey.

Jawaban:


11

Pertama, kita perlu mengkonfigurasi Yubikey untuk respon tantangan. Manual yang bagus untuk Linux diberikan oleh Yubico di bawah https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html

Sekarang Anda harus dapat menggunakan yubikey Anda untuk otentikasi saat login. Satu bagian yang mudah hilang: Kunci otomatis layar ketika die Yubikey dilepas.

Saya sedikit mengadaptasi HowTo dari forum Yubico ( http://forum.yubico.com/viewtopic.php?f=23&t=1143 ) agar sesuai dengan LightDM di 14,04 dan Yubikey Neo.

Pertama-tama, buat file baru dengan perintah untuk mengunci layar ketika Yubikey tidak ada:

sudo nano /usr/local/bin/yubikey

Tuliskan yang berikut ke dalam file:

#!/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

Perbedaan terbesar dengan file asli adalah penggunaan alat-dm (untuk mengunci layar dengan lightdm) dan istilah pencarian Yubico, karena Yubikey Neo terdaftar dengan "Yubico.com" di lsusb.

Tutup dan simpan file. Selain itu, kita harus membuat file dapat dieksekusi:

sudo chmod +x /usr/local/bin/yubikey

Selanjutnya, kita harus menemukan properti Yubikey untuk penugasan yang tepat.

Untuk ini deskriptor USB harus diaktifkan. Detailnya dapat ditemukan di forum Yubico .

Di terminal baru ketik perintah

udevadm monitor --environment --udev

Sekarang Anda (un-) pasang yubikey Anda dan dapatkan daftar Id. Mencari

ID_VENDOR_ID
ID_MODEL_ID
ID_SERIAL_SHORT

Mereka akan digunakan dalam file udev untuk pengakuan Yubikey.

Petunjuk: ID vendor berubah jika Anda mengkonfigurasi ulang stik (mis. Dengan CCID)

Selanjutnya, buat file dengan

sudo nano /etc/udev/rules.d/85-yubikey.rules

dan ketik berikut ini

# 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"

Ubah ID sesuai dengan kunci Anda. Catatan: Anda dapat menambahkan lebih banyak yubikey dengan menyalin salin baris dengan Id lainnya!

Tutup dan simpan file. Akhirnya, layanan udev harus memuat ulang aturan:

sudo udevadm control --reload-rules
sudo service udev reload

Saya sudah mencoba ini pada 14,04 dan tidak ada ID_SERIAL_SHORTjadi saya hanya melewatkannya.
Paweł Prażak

Saya tahu utas ini sudah lama, tetapi masih merupakan hasil teratas saat menelusuri. Menghapus ID_SERIAL_SHORT berbahaya karena Anda menghapus satu pengidentifikasi yang unik untuk kunci Anda. Dengan asumsi tentu saja Anda ingin membuat skrip untuk membuka kunci juga. Jika ID_SERIAL_SHORT tidak ada di sana Anda kemungkinan belum mengaktifkan tanda yang benar dengan alat personalisasi.
Indeks

0

Anda juga dapat menambahkan membunuh semua TTY menggunakan 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

Juga tampaknya ada masalah dengan izin file dari lightdm, untuk menyelesaikannya:

sudo chown lightdm:root /etc/yubico/[user]-[number]
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.