로그인 2FA 및 잠금 화면에 Yubikey Neo 사용


13

Yubikey Neo를 사용하여 Ubuntu 14.04에 로그인하고 싶습니다. 또한 Yubikey를 분리 할 때마다 화면이 자동으로 잠기면 편리합니다.

답변:


11

먼저 도전 응답을 위해 Yubikey를 구성해야합니다. 리눅스에 대한 좋은 매뉴얼은 Yubico에 의해 제공됩니다. https://developers.yubico.com/yubico-pam/Authentication_Using_Challenge-Response.html에 있습니다.

이제 로그인시 yubikey를 사용하여 인증 할 수 있습니다. 하나의 편리한 부분이 누락되었습니다 : 다이 Yubikey가 제거되면 화면의 자동 잠금 장치가 제거됩니다.

Yubico 포럼 ( http://forum.yubico.com/viewtopic.php?f=23&t=1143) 의 HowTo를 약간 수정했습니다.14.04의 YuDM 및 Yubikey Neo에 맞게 Yubico ) .

먼저 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

원본 파일과의 가장 큰 차이점은 Yubikey Neo가 lsusb의 "Yubico.com"에 등록되어 있기 때문에 dm-tool (lightdm으로 화면을 잠그기 위해)과 검색어 Yubico를 사용하는 것입니다.

파일을 닫고 저장하십시오. 또한 파일을 실행 가능하게 만들어야합니다.

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

다음으로, 올바른 할당을 위해 Yubikey의 속성을 찾아야합니다.

이를 위해 USB 디스크립터를 활성화해야합니다. 자세한 내용은 Yubico 포럼 에서 확인할 수 있습니다 .

명령에서 새 터미널 유형

udevadm monitor --environment --udev

이제 당신은 당신의 yubikey를 연결 해제하고 ID 목록을 얻습니다. 찾고있는

ID_VENDOR_ID
ID_MODEL_ID
ID_SERIAL_SHORT

이들은 Yubikey를 인식하기 위해 udev 파일에서 사용될 것입니다.

힌트 : 스틱을 재구성하면 공급 업체 ID가 변경됩니다 (예 : 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"

키에 따라 ID를 변경하십시오. 참고 : 다른 Id와 함께 줄을 붙여 넣기 만하면 Yubikey를 더 추가 할 수 있습니다!

파일을 닫고 저장하십시오. 마지막으로 udev 서비스는 규칙을 다시로드해야합니다.

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

나는 이것을 14.04에 시도했지만 아무것도 ID_SERIAL_SHORT건너 뛰지 않았습니다 .
Paweł Prażak

이 스레드가 오래되었다는 것을 알고 있지만 검색 할 때 여전히 최고의 결과입니다. 키에 고유 한 식별자 하나를 제거하면 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]
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.