답변:
먼저 도전 응답을 위해 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
다음을 사용하여 모든 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
건너 뛰지 않았습니다 .