Repository navigation
2024.2.0.4
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.Commentis 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); legacyssh-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