लॉगिन 2FA और लॉक स्क्रीन के लिए Yubikey Neo का उपयोग


14

मैं Ubuntu 14.04 में प्रवेश करने के लिए अपने Yubikey Neo का उपयोग करना चाहता हूं। इसके अलावा, यह आश्वस्त होगा कि अगर स्क्रीन स्वचालित रूप से लॉक हो जाती है तो मैं Yubikey को अनप्लग कर देता हूं।

जवाबों:


12

सबसे पहले, हमें चुनौती प्रतिक्रिया के लिए 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

मैं 14.04 पर यह कोशिश कर चुका हूं और ऐसा नहीं था ID_SERIAL_SHORTइसलिए मैंने इसे छोड़ दिया।
पावेल प्रोक

1
मुझे पता है कि यह धागा पुराना है, लेकिन खोज करते समय यह अभी भी शीर्ष परिणाम है। ID_SERIAL_SHORT हटाना खतरनाक है क्योंकि आप अपनी पहचान के लिए अद्वितीय एक पहचानकर्ता को निकालते हैं। निश्चित रूप से आप अनलॉक करने के लिए एक स्क्रिप्ट बनाना चाहते हैं। यदि ID_SERIAL_SHORT नहीं है, तो संभव है कि आपने पर्सनल टूल के साथ सही झंडे सक्षम न किए हों।
सूचकांक

0

आप सभी 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]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.