$npx skillfedfor your agent

sshpubkeys

SSH public key parser

With conditionsPyPI SecurityReleased Feb 20211.4M downloads / moBSDPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — sshpubkeys-3.3.1-py2.py3-none-any.whl
v3.3.1 · released 2021-02-04 · Python >=3 · 2 runtime deps: cryptography, ecdsa

Yes, if you need to parse and validate OpenSSH public keys in Python. The package is stable, has low install friction, carries a permissive license, and has no known vulnerabilities. Dormancy is a minor concern—the last release was over 2017 days ago—but the unarchived repository and broad Python 3 support (3.5+) suggest it remains usable for standard key formats. Install it if your use case is straightforward key parsing; consider alternatives if you need support for newer OpenSSH certificate formats or active maintenance.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3 (minimum version >=3); DSA keys must be 1024, 2048, or 3072 bits in strict mode.
  • Low friction install with two stable runtime dependencies (cryptography and ecdsa).
  • Package is dormant—last release was 2021-02-04, over 2017 days ago—but the repository remains active and unarchived, suggesting maintenance may resume if needed.

License · maintenance · safety

BSD (permissive) — BSD license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.

last release 2021-02-04 (2017 days) · last repo commit 2024-06-15 · 99 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,401,982 downloads/mo, #3,948 on PyPI

Verify before relying

pip install sshpubkeys

from sshpubkeys import SSHKey

ssh = SSHKey("ssh-rsa AAAAB3NzaC1yc2E...", strict=True)
ssh.parse()
print(ssh.bits, ssh.hash_sha256())
  • Whether the package handles modern OpenSSH key formats (e.g., ssh-ed25519-cert-v01@openssh.com) or only the base key types listed.
  • Performance characteristics when parsing large authorized_keys files with thousands of entries.
  • Whether dormancy affects compatibility with recent OpenSSH releases or cryptographic best practices.
Same gist for agents: .md · .json

What it is and what it does

sshpubkeys is a native Python parser for OpenSSH public keys that validates and extracts metadata from ssh-rsa, ssh-dss, ssh-ed25519, and NIST-curve ecdsa keys. It depends on cryptography and ecdsa for the underlying cryptographic operations. The package provides a simple API: instantiate an SSHKey object with a key string, call parse(), and access properties like bits, comment, and hash methods (MD5, SHA256, SHA512). It also includes an AuthorizedKeysFile class for bulk parsing of authorized_keys files.

The package operates in two modes: strict (default), which enforces OpenSSH's own validation rules (e.g., DSA keys must be 1024, 2048, or 3072 bits), and loose, which attempts to accept any key OpenSSH would. It raises specific exceptions for different failure modes—InvalidKeyError for malformed data, NotImplementedError for unsupported key types, and InvalidOptionsError for invalid SSH options. The last release was in February 2021, and the project is dormant; however, the repository remains unarchived and may receive maintenance if issues arise.

Use it for

  • Validate SSH public keys before storing them in an authorized_keys file or database.
  • Parse and audit authorized_keys files to extract key metadata and compute fingerprints for security logging.
  • Build SSH key management tools that need to identify key type, bit length, and detect weak keys.
  • Integrate SSH key validation into deployment or provisioning scripts that accept user-provided keys.
  • Generate SHA256 or SHA512 fingerprints for SSH keys to match against known-hosts or key registries.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to parse and validate OpenSSH public keys in Python.

The package is stable, has low install friction, carries a permissive license, and has no known vulnerabilities. Dormancy is a minor concern—the last release was over 2017 days ago—but the unarchived repository and broad Python 3 support (3.5+) suggest it remains usable for standard key formats. Install it if your use case is straightforward key parsing; consider alternatives if you need support for newer OpenSSH certificate formats or active maintenance.

Install

sshpubkeys on PyPI

Before you install

Low friction install with two stable runtime dependencies (cryptography and ecdsa). Package is dormant—last release was 2021-02-04, over 2017 days ago—but the repository remains active and unarchived, suggesting maintenance may resume if needed.

Requires Python 3 (minimum version >=3); DSA keys must be 1024, 2048, or 3072 bits in strict mode.

License in practice

BSD license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.

Quickstart

pip install sshpubkeys

from sshpubkeys import SSHKey

ssh = SSHKey("ssh-rsa AAAAB3NzaC1yc2E...", strict=True)
ssh.parse()
print(ssh.bits, ssh.hash_sha256())

Verify before relying

  • Whether the package handles modern OpenSSH key formats (e.g., ssh-ed25519-cert-v01@openssh.com) or only the base key types listed.
  • Performance characteristics when parsing large authorized_keys files with thousands of entries.
  • Whether dormancy affects compatibility with recent OpenSSH releases or cryptographic best practices.

Package facts

LicenseBSD permissive
Python supportSupports the current Python release >=3
Install frictionLow. Pure-Python wheel
Runtime dependencies
2 packages
cryptographyecdsa
MaintenanceDormant 2,017 days since the last release
Last repo commit
First released
Downloads1,401,982 / month, #3,948 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: Implementation :: PyPyTopic :: Security

Evidence: sshpubkeys-3.3.1-py2.py3-none-any.whl

Tags

Capabilities
ssh public key parseropenssh key validationparse ssh-rsa keysssh key fingerprintauthorized_keys parserssh key hashopenssh key type detection
Topics
ssh-key-managementcryptography
PyPI keywords
sshpubkeypublickeyopensshssh-rsassh-dssssh-ed25519

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “ssh public key parser”

  • sshpubkeysParses and validates OpenSSH public keys, extracting key type, bit…
  • ssh-import-idssh-import-id fetches public SSH keys from GitHub, GitLab, or…
  • asyncsshAsyncSSH provides an asynchronous SSH client and server…

Give your agent the search over MCP, or paste the wish link into any chat.

More Security packages

SecretStorage With conditions
PyPI · Python Modules · released Nov 2025

Provides Python bindings to the FreeDesktop.org Secret Service API for securely storing and retrieving passwords and secrets through GNOME Keyring, KWallet, or KeePassXC.

BSD-3-Clausepure Python · 3.10+aging
226.9Mdownloads / mo
msal Worth it
PyPI · Security · released May 2026

MSAL for Python handles OAuth2 and OpenID Connect authentication with Microsoft identity services, managing token acquisition, caching, and refresh for applications integrating with Microsoft Entra ID, Microsoft Accounts, and Azure AD B2C.

MITpure Python · 3.9+
223.0Mdownloads / mo
joserfc Worth it
PyPI · Security · released Jul 2026

joserfc implements JOSE standards (JWS, JWE, JWK, JWT, and related RFCs) for signing, encrypting, and managing JSON-based cryptographic tokens in Python.

BSD-3-Clausepure Python · 3.10+
155.5Mdownloads / mo
Authlib Worth it
PyPI · Security · released May 2026

Authlib provides a complete implementation of OAuth 1.0, OAuth 2.0, and OpenID Connect 1.0 for building both authentication clients and servers, with built-in support for JWS, JWK, JWA, and JWT standards.

BSD-3-Clausepure Python · 3.10+
155.1Mdownloads / mo
argon2-cffi-bindings With conditions
PyPI · Python Modules · released Jul 2025

Provides low-level CFFI bindings to the official Argon2 password hashing algorithm for use by libraries and applications that need direct access to Argon2 without higher-level abstractions.

MITcompiled wheel · 3.9+
74.2Mdownloads / mo
adal Skip
PyPI · Security · released Apr 2021

ADAL for Python authenticates applications with Azure Active Directory to obtain tokens for accessing Azure AD-protected resources.

Install only if maintaining existing code that already depends on it, and plan a migration.

MITpure Pythonabandoned
44.5Mdownloads / mo

See also asyncssh · ssh-import-id · PGPy · sslcrypto · M2Crypto · lightdsa · PGPy13 · ecdsa · pure25519 · slip10