Yubico / python-yubico

Python code to talk to YubiKeys
https://developers.yubico.com/python-yubico/
BSD 2-Clause "Simplified" License
231 stars 34 forks source link

find_yubikey() fails with "Access denied (insufficient permissions)", even as root #7

Open jacobian opened 10 years ago

jacobian commented 10 years ago
$ sudo python -c 'import yubico; yubico.find_yubikey()'
Password:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/jacob/.virtualenvs/hkyubi/lib/python2.7/site-packages/yubico/yubikey.py", line 229, in find_key
    YK = YubiKeyUSBHID(debug=debug, skip=skip)
  File "/Users/jacob/.virtualenvs/hkyubi/lib/python2.7/site-packages/yubico/yubikey_usb_hid.py", line 141, in __init__
    if not self._open(skip):
  File "/Users/jacob/.virtualenvs/hkyubi/lib/python2.7/site-packages/yubico/yubikey_usb_hid.py", line 441, in _open
    self._usb_handle.claimInterface(self._usb_int)
  File "/Users/jacob/.virtualenvs/hkyubi/lib/python2.7/site-packages/usb/legacy.py", line 230, in claimInterface
    util.claim_interface(self.dev, if_num)
  File "/Users/jacob/.virtualenvs/hkyubi/lib/python2.7/site-packages/usb/util.py", line 191, in claim_interface
    device._ctx.managed_claim_interface(device, interface)
  File "/Users/jacob/.virtualenvs/hkyubi/lib/python2.7/site-packages/usb/core.py", line 112, in managed_claim_interface
    self.backend.claim_interface(self.handle, i)
  File "/Users/jacob/.virtualenvs/hkyubi/lib/python2.7/site-packages/usb/backend/libusb1.py", line 758, in claim_interface
    _check(self.lib.libusb_claim_interface(dev_handle.handle, intf))
  File "/Users/jacob/.virtualenvs/hkyubi/lib/python2.7/site-packages/usb/backend/libusb1.py", line 571, in _check
    raise USBError(_str_error[ret], ret, _libusb_errno[ret])
usb.core.USBError: [Errno 13] Access denied (insufficient permissions)

This is on OS X 10.9 ("Mavericks"), which I believe is important (I've found a few issues related to libusb on 10.9 that sound similar)

I'm running libusb-1.0.18 installed from Homebrew, PyUSB 1.0.0b1 installed from PyPI, and python-yubico 1.2. also installed from PyPI.

dainnilsson commented 10 years ago

This is a known issue with libusb on OSX: http://www.libusb.org/ticket/89 Until this is fixed I don't think there is anything we can do about it, unfortunately.

josepvalls commented 8 years ago

Any idea on how to implement a workaround using HIDAPI as suggested in the linked thread? Doesn't look like the devs will fix it.

fhibler commented 8 years ago

As the "Yubikey Personalization Tool" is working on OSX, there must be some kind of workaround. Any chance this python module gets adapted accordingly?

Or someone is able to have a look into HIDAPI, as suggested in the thread posted above?

Thanks!

dainnilsson commented 8 years ago

YubiKey Personalization Tool doesn't use libusb on OSX, and thus is not affected by this issue. Adding a HIDAPI backend using https://pypi.python.org/pypi/hidapi is probably doable, but would require some effort. Contributions in this area are welcome!

zestysoft commented 4 years ago

Updating this with a current link to why this still doesn't work (www.libusb.org doesn't respond for me): https://github.com/pyusb/pyusb/issues/208

Has there been an attempt to use this library instead? https://github.com/libusb/libusb Or does it need to have a BSD license?

Is there another programming language that has better MacOS support from Yubico?

bsaund commented 3 years ago

I also get the same usb.core.USBError: [Errno 13] Access denied (insufficient permissions) on Ubuntu 20.04 when calling find_yubikey