LedgerHQ / app-openpgp

OpenPGP Card Application
Apache License 2.0
123 stars 21 forks source link

ssh-ed25519 key_verify: incorrect signature #16

Closed jpathy closed 6 years ago

jpathy commented 6 years ago

Hello, I have setup gpg-agent as my ssh-agent and card has ed25519-curve keys for auth. But i am unsuccessful in logging into any openssh server and i get debug2: ssh_ed25519_verify: crypto_sign_ed25519_open failed: -1 error, which seems like a card issue to me. Can someone confirm that ssh-ed25519 auth is working for them?

cslashm commented 6 years ago

Will have a look in the next coming days. Thanks for reporting.

jpathy commented 6 years ago

@cslashm Did you get a chance to look at it?

drdaeman commented 6 years ago

I believe I'm having exactly the same issue. I have a key that works with Gnuk (FST-01), but fails when copied to Ledger Nano S, even though gpg recognizes it.

Client:

debug1: Offering ED25519 public key: cardno:xxxxxxxxxxxx
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg ssh-ed25519 blen 51
debug2: input_userauth_pk_ok: fp SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
debug3: sign_and_send_pubkey: ED25519 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
debug3: send packet: type 50
debug3: receive packet: type 51

Server:

debug1: matching key found: file /home/drdaeman/.ssh/authorized_keys, line 18 ED25519 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
debug1: restore_uid: 0/0
debug3: mm_answer_keyallowed: key is allowed
debug3: mm_request_send entering: type 23
debug3: mm_sshkey_verify entering [preauth]
debug3: mm_request_send entering: type 24 [preauth]
debug3: mm_sshkey_verify: waiting for MONITOR_ANS_KEYVERIFY [preauth]
debug3: mm_request_receive_expect entering: type 25 [preauth]
debug3: mm_request_receive entering [preauth]
debug3: mm_request_receive entering
debug3: monitor_read: checking request 24
debug2: ssh_ed25519_verify: crypto_sign_ed25519_open failed: -1
debug3: mm_answer_keyverify: publickey 0xXXXXXXXXXXXX signature unverified
debug3: mm_request_send entering: type 25
Failed publickey for drdaeman from xxx.xxx.xxx.xxx port xxxxx ssh2: ED25519 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

With RSA keys everything works (tested on RSA 2048). Signing and decryption with 25519 keys using GnuPG also works, the only issue I have is with SSH authentication via gpg-agent.

cslashm commented 6 years ago

Hi, there will be a new release end of this month (begin of next). I hope to flush all pending issue

cslashm commented 6 years ago

See #23