Yubikey를 연결하면 /dev/hidraw 장치가 없습니다.

Yubikey를 연결하면 /dev/hidraw 장치가 없습니다.

저는 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 monitorYubikey를 연결했다가 분리한 상태에서 실행 하면 다음과 같은 결과가 나타납니다.

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다음 키를 삭제하고 다시 삽입해야 합니다. 그것은 나를 위해 작동하기에 충분합니다.

관련 정보