Skip to content

2024.2.0.4

Choose a tag to compare

@darinkes darinkes released this 16 Jul 07:44
· 14 commits to main since this release

SSH.NET extension to authenticate via the OpenSSH agent and PuTTY Pageant.

First stable release since 2024.2.0.1, finalizing the 2024.2.0.2–.4-beta line.

Features

  • FIDO / security keys (sk-ssh-ed25519@openssh.com, sk-ecdsa-sha2-nistp256@openssh.com) — the agent drives the authenticator (touch / PIN); the private key never leaves the hardware
  • OpenSSH certificate identities (*-cert-v01@openssh.com)
  • Key constraints — lifetime (ssh-add -t) and confirm-on-use (ssh-add -c)
  • Agent locking / unlocking (ssh-add -x / -X)
  • Full async API for every operation, including constrained adds and lock/unlock
  • SshAgentPrivateKey.Comment is now surfaced for every identity, including FIDO keys
  • Pageant talks over its OpenSSH named pipe when available (real async I/O, no 8 KB WM_COPYDATA limit), falling back to WM_COPYDATA automatically

Improvements

  • Prefer RSA SHA-2 (rsa-sha2-512 / rsa-sha2-256); legacy ssh-rsa (SHA-1) offered only when explicitly enabled
  • Added a .NET 8.0 target
  • Unsupported key types are skipped when listing identities
  • Typed exceptions instead of bare System.Exception
  • Connect/read/write timeouts and Windows named-pipe transport fixes

Packaging / CI / Docs

  • NuGet trusted publishing (OIDC)
  • Fully documented public API (missing docs fail the build)
  • Migrated to .slnx, added Dependabot, modernized the sample (System.CommandLine)
  • Protocol-level fake-agent unit tests plus real-world tests against ssh-agent, Pageant and a real sshd

NuGet: https://www.nuget.org/packages/SshNet.Agent/2024.2.0.4

Full changelog: 2024.2.0.1...2024.2.0.4