rust-lang / rust-lang/ssh2-rs

Ssh2 library not supporting Kex ecdh-sha2-nistp384

Open
#332 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
566
Forks
163
Avg merge
4h 51m
Merged PRs (30d)
2

Description

With SSH2, Kex ecdh-sha2-nistp384 is not being supported.

SSH handshake failed: Error { code: Session(-5), msg: "Unable to exchange encryption keys" }

sess.method_pref(ssh2::MethodType::Kex, "ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521") -> Error: Error { code: Session(-33), msg: "The requested
method(s) are not currently supported" }

We tried enabling this key algorithm using macro to enable libssh2_ecdsa. Still its not working.
This Kex support is highly needed from SSH2 crate. If this is a bug, please provide and update with fix.
If its intentionally not supported, it would be great if you can provide the support.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with ssh2::Session::method_pref and MethodType::Kex, then trace how libssh2_ecdsa configuration affects the requested ecdh-sha2-nistp384 method. Reproduce the reported handshake or method_pref failure and compare behavior with the other listed KEX algorithms. Done means the requested algorithm is accepted and the SSH handshake succeeds when the underlying library supports it.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.