{{ primaryAuthorized }}| Field | Value | Copy |
|---|---|---|
| Type | {{ resultRows[0].type }} | |
| Bits | {{ resultRows[0].bits }} | |
| SHA-256 | {{ resultRows[0].fp256 }} | |
| MD5 | {{ resultRows[0].fpmd5 }} | |
| Public key (authorized_keys line) | {{ resultRows[0].authorized }} |
SSH public keys are structured encodings that identify a user or host key and let a server recognize a trusted party. Many admins look for an ssh authorized keys line generator when onboarding a new account. This tool surfaces the public key, its fingerprints, and a ready to paste line for access control.
You provide a private key or an existing authorized key entry and receive the corresponding public key line with optional options and a comment, plus SHA 256 and MD5 fingerprints. Results help you compare what is on a workstation with what a server expects so you can verify identity quickly.
A common workflow is pasting an OpenSSH private key to confirm the public part before adding it to a server. Another is scanning a mixed text blob to pull out the first valid key and copy its authorized keys form with a short note.
Be mindful that fingerprints confirm a key match and not account permissions or server policy. Keep private keys safe, work on trusted devices, and avoid leaving sensitive material in shared clipboards.
The core object is the Secure Shell public key and its raw byte representation known as the key blob. Two digests are computed from that blob to give stable fingerprints that are easy to compare across systems.
The engine computes a base64 fingerprint from a 32 byte Secure Hash value and a colon delimited hexadecimal fingerprint from a 16 byte Message Digest value. These fingerprints summarize the same key material and let you confirm that two encodings refer to the very same key.
Results show the key algorithm and a bit length. For Ed25519 and selected Elliptic Curve keys the bit length is fixed by the curve. For RSA it is derived from the modulus length encoded in the blob so you can see whether a key is 2048 or 4096 bits in practice.
Comparisons are meaningful only when you hash the same public blob. Formatting changes in the text line do not affect the raw blob, and comments or authorized options are not included in the hash inputs.
| Symbol | Meaning | Unit/Datatype | Source |
|---|---|---|---|
K |
SSH public key blob | bytes | Derived |
H |
SHA 256 digest of K_pub |
32 bytes | Derived |
B64 |
Base64 without trailing = |
string | Derived |
H |
MD5 digest of K_pub |
16 bytes | Derived |
Hex |
Lowercase hex with colons | string | Derived |
bits |
Key length estimate | bits | Derived |
| Field | Type | Min | Max | Step/Pattern | Error Text | Placeholder |
|---|---|---|---|---|---|---|
| Key input | text / file | — | — | \b(ssh-(?:rsa|ed25519|ecdsa-sha2-nistp256|ecdsa-sha2-nistp384|ecdsa-sha2-nistp521))\s+([A-Za-z0-9+/=]+) |
Could not detect a key. Provide an OpenSSH private key or an RSA PEM. | Paste SSH private key (OpenSSH or RSA PEM)… |
| OpenSSH key | PEM | — | — | openssh-key-v1 header and structure | Malformed openssh-key-v1 structure. | — |
| RSA PEM | PKCS#1 / PKCS#8 | — | — | RSA PRIVATE KEY or PRIVATE KEY blocks | Unsupported or encrypted PEM key (only RSA PEM supported). Encrypted PKCS#8 private keys are not supported without a passphrase. | — |
| Options | text | — | — | prepended verbatim before key type | — | command="/bin/echo hi",no-port-forwarding |
| Comment | text | — | — | appended verbatim at end | — | user@host |
| Input | Accepted Families | Output | Encoding/Precision | Rounding |
|---|---|---|---|---|
| Private key | OpenSSH private key; RSA PEM (PKCS#1 or PKCS#8) | Authorized key line | Key type, base64 key, optional options and comment | Not applicable |
| Public key line | ssh-rsa; ssh-ed25519; ecdsa-sha2-nistp256; ecdsa-sha2-nistp384; ecdsa-sha2-nistp521 | Type, bits, fingerprints, authorized key line | SHA 256 base64 without padding; MD5 hex with colons | Not applicable |
| JSON/CSV exports | Single result payload | Inputs and results | Strings and integers as shown | Exact values |
No data is transmitted or stored server‑side. Treat private keys as sensitive material and follow your organization’s security guidance.
SSH public key extraction with fingerprints and an authorized keys line.
no-port-forwarding.user@host.Example: Options command="/bin/echo hi",no-port-forwarding with comment alice@work produce a single authorized key line with those parts wrapped around the key.
No. Extraction and hashing run locally in the browser, and no server receives your inputs.
Keep private keys off shared or unmanaged devices.Authorized key detection supports ssh-rsa, ssh-ed25519, and ECDSA on nistp256, nistp384, and nistp521. PEM conversion is available for RSA only.
Other families are ignored rather than partially parsed.Both digests hash the raw public blob. SHA 256 is shown as base64 without trailing padding, and MD5 is shown as lowercase hex separated by colons.
Options and comments are not part of the hash.The OpenSSH header was found, but its internal fields were inconsistent or truncated. Supply a complete key or try a different source.
Encrypted bodies are fine because public parts are stored in clear.Not here. Encrypted PKCS#8 private keys require a passphrase and are not parsed for public output by this tool.
Provide an OpenSSH private key instead.Your environment did not provide a compatible MD5 routine. The SHA 256 fingerprint remains available for verification.
Prefer SHA 256 for comparisons.Paste the private key, choose Extract Key, then copy the authorized key line from the summary or the table.
You may add options and a comment before copying.Once loaded, the extraction runs locally. No external service is needed during parsing and hashing.
Network access may still be required to load the page itself.Tip Add a distinct comment for each host to make audit trails easier to read.
Tip Keep options minimal and explicit so you can spot drift across servers.
Tip Store the JSON output with tickets to tie a fingerprint to a change request.
Tip Confirm the bit length before rollout when rotating RSA keys.
Tip Use options like no-port-forwarding to restrict automation accounts.
Tip Clear the clipboard after copying sensitive lines on shared machines.