저는 Yubikey NEO를 가지고 있고 데비안에서 실행하려고 합니다.
삽입하면 udev 이벤트는 수신되지만 /dev/hidraw는 수신되지 않습니까? 장비.
내가 지금까지 알고 있는 것은 다음과 같습니다.
cat /boot/config-$(uname -r) | grep CONFIG_HIDRAW)
다음을 제공합니다:
CONFIG_HIDRAW=y
lsusb -v -d 1050:0211
다음을 제공합니다:
Bus 002 Device 013: ID 1050:0211 Yubico.com
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1050 Yubico.com
idProduct 0x0211
bcdDevice 0.20
iManufacturer 1 Yubico
iProduct 2 Yubico WinUSB Gnubby (gnubby1)
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 30mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
udevadm monitor
Yubikey를 연결했다가 분리한 상태에서 실행 하면 다음과 같은 결과가 나타납니다.
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[7941.975349] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
KERNEL[7941.975583] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
UDEV [7941.985350] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
UDEV [7942.998352] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
KERNEL[7945.487692] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
KERNEL[7945.487791] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
UDEV [7945.488139] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
UDEV [7945.488620] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
제안된 대로 udev 규칙을 추가했습니다.여기그리고 cat /etc/udev/rules.d/70-u2f.rules
다음을 제공합니다:
ACTION!="add|change", GOTO="u2f_end"
#KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", TAG+="uaccess"
ATTRS{idVendor}=="1050", GROUP="plugdev", MODE="0660"
LABEL="u2f_end"
(주석 줄의 주석 처리가 해제된 경우에도 작동하지 않습니다.)
설치를 시도했지만 libhidapi-hidraw0
그것도 작동하지 않는 것 같습니다.
또한 Yubikey NEO Manager를 설치하고 실행해 보았지만 그것과 yubikey 개인화 도구 모두 Yubikey 장치가 연결되어 있지 않다고 생각합니다. 그래서 차단기가 누락된 /dev/hidraw0 장치라고 생각합니다. 비슷한 수준).
내 Linux 지식과 Google 솔루션에 대한 능력은 한계에 이르렀으므로 추가 디버깅 제안 및 (알고 있는 경우) 솔루션이 도움이 될 것입니다.
답변1
일부 중고 Yubikey는 Google 테스트 팀에서 제공되므로 Yubikey를 어디서 구하는지 주의해야 합니다. 이는 현재 버전의 NEO Manager 또는 개인화 도구에는 적용되지 않습니다.
0x02xx 해당 장치는 테스트 장치입니다.
yubikey 지원팀에 도움을 요청하고 장치 ID와 개인적인 경험(아마도 eBay)에서 해당 장치를 얻은 방법을 제공하면 그들은 기꺼이 장치를 무료로 RMA하고 자비로 새 장치를 보내줄 것입니다. 결과는 다를 수 있습니다.
행운을 빌어요!
답변2
/etc/udev/rules.d/70-u2f.rules
파일이 오래된 것 같습니다 /lib/udev/rules.d/
. yubikey-personalization 패키지를 설치한 경우 해당 파일이 있어야 합니다 /lib/udev/rules.d/69-yubikey.rules
. 파일을 열고 알려진 목록에 테스트 장치 ID(0x0210)를 추가하세요. idVendors 중간. 다음과 같은 결과가 나와야 합니다. 이것은 ubuntu wily werewolf에서 가져온 것입니다. 다른 OS 버전은 약간 다를 수 있습니다. 핵심은 제품 ID 목록에 0211을 추가하는 것입니다.
ACTION!="add|change", GOTO="yubico_end"
# Udev rules for letting the console user access the Yubikey USB
# device node, needed for challenge/response to work correctly.
# Yubico Yubikey II
ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0010|0110|0111|0114|0116|0211|0401|0403|0405|0407|0410", \
ENV{ID_SECURITY_TOKEN}="1"
LABEL="yubico_end"
그런 다음 reload udev 규칙을 사용한 sudo udevadm control --reload-rules
다음 키를 삭제하고 다시 삽입해야 합니다. 그것은 나를 위해 작동하기에 충분합니다.