ssh2: ed25519 keys not working

Not sure if this is an issue here or upstream, but I just wanted to give a heads up that ed25519 host keys do not appear to be supported.

When running e.g.

conn = new require('ssh2')()
conn.connect({
  host: 'host.local',
  port: "22",
  username: "bmh",
  agent: process.env['SSH_AUTH_SOCK'],
  debug: console.log})

The output includes:

DEBUG: (local) Host key formats: ssh-rsa,ssh-dss DEBUG: (remote) Host key formats: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519

I doubt there’s anything on my end (Mac OS X 10.11.1; node 5.0.0; fresh package install of ssh2@04.12); it looks like the support is simply not yet in ssh2-streams. I can re-file a bug there, if that is preferable.

🍻

About this issue

  • Original URL
  • State: closed
  • Created 9 years ago
  • Reactions: 2
  • Comments: 18 (8 by maintainers)

Commits related to this issue

Most upvoted comments

Full Ed25519 support now available in ssh2 v0.8.3 when used with node v12.0.0.

https://github.com/openssl/openssl/issues/309 says “x25519 is in [OpenSSL] 1.1”

Can this be implemented now? I would appreciate it enormously 😃

@AlexandrKravchuk Not without adding some sort of JavaScript-only ed25519 implementation, which I prefer not to do.

Thanks @mscdex

I appreciate the concerns over performance issue and opting-out.

As host key algorithm itself is only run once per connection, the performance of that particular implementation should not be a big concern. That said, I understand why you would want to make sure an opt-out scheme of some sort would be in place before going down this road.

Cheers.