जवाबों:
सबसे पहले, हमें चुनौती प्रतिक्रिया के लिए Yubikey को कॉन्फ़िगर करने की आवश्यकता है। लिनक्स के लिए एक अच्छा मैनुअल Yubico द्वारा https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html के तहत दिया गया है
अब आपको लॉगिन पर प्रमाणीकरण के लिए अपने yubikey का उपयोग करने में सक्षम होना चाहिए। एक सुविधाजनक टुकड़ा गायब है: स्क्रीन का स्वचालित लॉक जब डाई यूबिकी हटा दिया जाता है।
मैंने Yubico मंचों ( http://forum.yubico.com/viewtopic.php?f=23&t=1143 ) से HowTo को 14.04 में और Yubikey Neo के साथ मेल खाने के लिए अनुकूलित किया।
सबसे पहले, Yubikey मौजूद नहीं होने पर स्क्रीन को लॉक करने के लिए कमांड के साथ एक नई फ़ाइल बनाएं:
sudo nano /usr/local/bin/yubikey
फ़ाइल में निम्नलिखित लिखें:
#!/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
मूल फ़ाइल का सबसे बड़ा अंतर dm-tool (lightdm के साथ स्क्रीन को लॉक करने के लिए) और खोज शब्द Yubico का उपयोग है, क्योंकि Yubikey Neo को ub Yubico.com ”के साथ lsusb में पंजीकृत किया गया है।
फ़ाइल को बंद करें और सहेजें। इसके अतिरिक्त, हमें फ़ाइल को निष्पादन योग्य बनाना होगा:
sudo chmod +x /usr/local/bin/yubikey
इसके बाद, हमें उचित असाइनमेंट के लिए Yubikey के गुणों का पता लगाना होगा।
इसके लिए USB डिस्क्रिप्टर को सक्रिय करना होगा। विवरण Yubico मंच पर पाया जा सकता है ।
कमांड में एक नए टर्मिनल प्रकार में
udevadm monitor --environment --udev
अब आप (संयुक्त राष्ट्र) अपने yubikey प्लग और Ids की एक सूची प्राप्त करें। की तलाश कर रहे हैं
ID_VENDOR_ID
ID_MODEL_ID
ID_SERIAL_SHORT
इनका उपयोग यूबिके की मान्यता के लिए udv फ़ाइल में किया जाएगा।
संकेत: यदि आप छड़ी को पुन: कॉन्फ़िगर करते हैं तो विक्रेता आईडी बदल जाता है (जैसे CCID)
इसके अलावा, के साथ एक फ़ाइल बनाएँ
sudo nano /etc/udev/rules.d/85-yubikey.rules
और निम्न टाइप करें
# 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"
अपनी कुंजी के अनुसार आईडी बदलें। नोट: आप साधारण कॉपी पेस्ट के साथ अन्य Ids के साथ अधिक yubikey जोड़ सकते हैं!
फ़ाइल को बंद करें और सहेजें। अंत में, udev सेवा को नियमों को फिर से लोड करना होगा:
sudo udevadm control --reload-rules
sudo service udev reload
आप सभी TTY का उपयोग करके हत्या को भी जोड़ सकते हैं 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
इसके अलावा lightdm
, इसे हल करने के लिए फ़ाइल अनुमतियों के साथ एक समस्या प्रतीत होती है :
sudo chown lightdm:root /etc/yubico/[user]-[number]
ID_SERIAL_SHORT
इसलिए मैंने इसे छोड़ दिया।