ssh-key
Pure Rust implementation of SSH key file format decoders/encoders as described in RFC4251/RFC4253 and OpenSSH key formats, as well as "sshsig" signatures and certificates (including certificate validation and certificate authority support), with further support for the `authorized_keys` and `known_hosts` file formats.
0.6.7
9.8M downloads/mo
#3147 most downloaded on crates.io
RustCrypto/SSH
What this package is like to depend on
Last release 1 months ago
29 Jun 2026
Release timing varies
gaps range from 9 days to 8 months
Nearly every release is documented
notes for 17 of 17 stable releases
1 version withdrawn
withdrawn after publishing
5 years old
38 releases · first in 2021
10 releases in the last 12 months
see the full history below
Release timeline
38 releases · Nov 2021 to Jun 2026Releases
latest 38-
0.7.0-rc.1129 Jun 2026 pre-release -
0.7.0-rc.1012 May 2026 pre-release -
0.7.0-rc.910 Mar 2026 pre-releaseRelease notes
Open source →Releases the following:
ssh-cipherv0.3.0-rc.8ssh-encodingv0.3.0-rc.8ssh-keyv0.7.0-rc.9
-
0.7.0-rc.804 Feb 2026 pre-releaseNothing published for this version
-
0.7.0-rc.725 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.614 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.512 Jan 2026 pre-releaseNothing published for this version
-
0.7.0-rc.425 Nov 2025 pre-releaseNothing published for this version
-
0.7.0-rc.314 Sep 2025 pre-releaseNothing published for this version
-
0.7.0-rc.203 Sep 2025 pre-releaseNothing published for this version
-
0.7.0-rc.110 Jul 2025 pre-releaseNothing published for this version
-
0.7.0-rc.001 Jun 2025 pre-releaseNothing published for this version
-
0.7.0-pre.113 Aug 2024 pre-releaseNothing published for this version
-
0.7.0-pre.028 Jul 2024 pre-releaseNothing published for this version
-
0.6.715 Oct 2024 -
0.6.612 Apr 2024Release notes
Open source → -
0.6.512 Mar 2024Release notes
Open source →Added
Changed
- Simplify DSA signature encoding (#193)
Fixed
- Correct erroneous signature constants (#202)
-
0.6.412 Jan 2024 -
0.6.321 Nov 2023Release notes
Open source →Added
Changed
- Maximum certificate timestamp time is now
i64::MAX(#175)
Fixed
- Handle leading zeroes in
Mpint::from_positive_bytes(#171)
- Maximum certificate timestamp time is now
-
0.6.215 Oct 2023 -
0.6.115 Aug 2023 -
0.6.013 Aug 2023Release notes
Open source →Added
- Partial support for U2F signature verification (#44)
- Support for
[email protected]encryption (#75) - "randomart" public key fingerprint visualizations (#77)
PrivateKey::encrypt_with_cipher(#79)- Propagate
ssh_key::Errorthroughsignature::Error(#82) cryptofeature (#83)- Support for AES-CBC, ChaCha20Poly1305, and TDES encryption (#118)
- Basic support for nonstandard SSH key algorithms (#136)
- Impl
HashforPublicKeyand its parts (#145, #149)
Changed
- Bump
signaturecrate dependency to v2 (#58) - Use
ssh_key::Erroras error type forTryFrom<&[u8]>impl onSignature(#59) - Bump elliptic curve and password hash deps; MSRV 1.65 (#66)
bcrypt-pbkdfv0.10dsav0.6p256v0.13p384v0.13sec1v0.7
- Use
&mut impl CryptoRngCorefor RNGs (#67) - Make
certificate::Builder::newfallible (#71) - Rename
MPInt=>Mpint(#76) - Split
AlgorithmUnknownandAlgorithmUnsupported(#81) - Bump
rsadependency to v0.9 (#107) - Extract symmetric encryption into
ssh-ciphercrate (#125) - Bump
ed25519-dalekdependency to v2 (#146) - Bump
ssh-encodingdependency to v0.2 (#147)
Fixed
-
0.6.0-rc.225 Jun 2023 pre-releaseNothing published for this version
-
0.6.0-rc.121 Jun 2023 pre-releaseNothing published for this version
-
0.6.0-rc.030 Mar 2023 pre-releaseNothing published for this version
-
0.6.0-pre.006 Feb 2023 pre-releaseNothing published for this version
-
0.5.125 Oct 2022 -
0.5.025 Oct 2022 -
0.5.0-rc.024 Oct 2022 pre-releaseNothing published for this version
-
0.5.0-pre.026 Sep 2022 pre-releaseNothing published for this version
-
0.4.325 Sep 2022Release notes
Open source →Changed
- Move source code repository to https://github.com/RustCrypto/SSH (#1)
-
0.4.202 May 2022Release notes
Open source →Added
- Support for parsing keys out of the ssh known_hosts file format
- Export
RsaPrivateKey Fromconversions between algorithmic-specific key types andPublicKey/PrivateKey
-
0.4.126 Apr 2022Release notes
Open source →Added
- Internal
UnixTimehelper type
Changed
- Bump
pem-rfc7468dependency to v0.6.0 - Further restrict maximum allowed timestamps
- Internal
-
0.4.012 Apr 2022Release notes
Open source →Added
- Private key decryption support
- Private key encryption support
- Ed25519 keygen/sign/verify support using
ed25519-dalek - Private key encryption
- Certificate decoder
- Certificate encoder
- Certificate validation support
- FIDO/U2F (
sk-*) certificate and key support certificate::Builder(i.e. SSH CA support)- ECDSA/NIST P-256 keygen/sign/verify support using
p256crate - RSA keygen/sign/verify support using
rsacrate - SHA-512 fingerprint support
serdesupport
Changed
- Consolidate
KdfAlgandKdfOptsintoKdf - Rename
CipherAlg=>Cipher
Removed
PrivateKey::kdf_alg
-
0.3.016 Mar 2022Release notes
Open source →Added
FromStrimpls for key typesPublicKeyencoderAuthorizedKeysparserPrivateKey::public_keyandFromconversionsPrivateKeyencoder- Validate private key padding bytes
- File I/O methods for
PrivateKeyandPublicKey - SHA-256 fingerprint support
Changed
- Use
pem-rfc7468for private key PEM parser - Make
PublicKey/PrivateKeyfields private
-
0.2.029 Dec 2021Release notes
Open source →Added
- OpenSSH private key decoder
MPInt::as_positive_bytes
Changed
MPIntvalidates the correct number of leading zeroes are used
-
0.1.003 Dec 2021 -
0.0.018 Nov 2021 withdrawnNothing published for this version