LedgerHQ / app-ssh-agent

Simple SSH and GPG agent for Ledger Blue and Nano S
Apache License 2.0
78 stars 27 forks source link

ledger-agent OSError: open failed #18

Open Stevus24654 opened 6 years ago

Stevus24654 commented 6 years ago

As I tried the great article from Fred de Villamil (https://thoughts.t37.net/a-step-by-step-guide-to-securing-your-ssh-keys-with-the-ledger-nano-s-92e58c64a005), I do not manage to generate the SSH keys (or at least for have a communication with the ledger :

_$ ledger-agent login@host 2018-04-09 21:30:06,816 WARNING DISPLAY not defined [ui.py:65] Traceback (most recent call last): File "/usr/local/bin/ledger-agent", line 11, in sys.exit(ssh_agent()) File "/usr/local/bin/ledger_agent.py", line 5, in ssh_agent = lambda: libagent.ssh.main(DeviceType) File "/usr/local/lib/python3.6/site-packages/libagent/ssh/init.py", line 164, in wrapper return func(*args, **kwargs) File "/usr/local/lib/python3.6/site-packages/libagent/ssh/init.py", line 287, in main for pk in conn.public_keys(): File "/usr/local/lib/python3.6/site-packages/libagent/ssh/init.py", line 199, in public_keys self.public_keys_cache = conn.export_public_keys(self.identities) File "/usr/local/lib/python3.6/site-packages/libagent/ssh/client.py", line 24, in export_public_keys with self.device: File "/usr/local/lib/python3.6/site-packages/libagent/device/interface.py", line 118, in enter self.conn = self.connect() File "/usr/local/lib/python3.6/site-packages/libagent/device/ledger.py", line 47, in connect return comm.getDongle() File "/usr/local/lib/python3.6/site-packages/ledgerblue/comm.py", line 202, in getDongle dev.open_path(hidDevicePath) File "hid.pyx", line 72, in hid.device.openpath OSError: open failed login@host's password:

Even with the good password, the connection get closed, and I have no confirmation on the Ledger. I use the firmware Secure Element 1.4.1 and MCU 1.5 on a High Sierra 10.13.4

PierrePaul commented 6 years ago

Not sure if related, but I had the same issue on Ubuntu. It's actually a permission error for my current user. Adding the correct udev rules fixed it : https://support.ledgerwallet.com/hc/en-us/articles/115005165269-What-if-Ledger-Wallet-is-not-recognized-on-Linux-

Xoffio commented 2 years ago

I think that solves the problem:

wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash

Maybe this issue should be close

phuongnd08 commented 3 months ago

Just updated ledger firmware recently and this same error start to happen again, add udev rules won't fix.

phuongnd08 commented 2 months ago

Not sure why, but changing the USB port fix the problem. Both USB ports seem to be working fine (Metamask can use them), but ledgerctl will only works correctly with one port