Skip to content
gohacks.dev
Tooling

SSH Key Generator

Generate an Ed25519 or RSA SSH key pair in the browser, in the same OpenSSH format ssh-keygen writes, with the authorized_keys line and fingerprint.

Free · No sign-up · Your inputs stay in your browser

Input

Generate an SSH key pair

Output

Press Generate

Same file format as ssh-keygen writes, without a passphrase. Save the private key as ~/.ssh/id_ed25519 with chmod 600, or add a passphrase afterwards with ssh-keygen -p -f ~/.ssh/id_ed25519. Ed25519 is what GitHub and OpenSSH recommend; use RSA only for systems that predate it.

Runs in this browser. Nothing you paste is sent to a server.

Ed25519 first

Ed25519 keys are short, fast and have no weak parameter choices, and OpenSSH, GitHub and GitLab recommend them. Use RSA, at 3072 bits or more, only for systems that predate OpenSSH 6.5 or hardware that does not support Ed25519. The format written here is described in OpenSSH's PROTOCOL.key.

Installing the key

Save the private key as ~/.ssh/id_ed25519 with chmod 600, or ssh refuses to use it. Add a passphrase with ssh-keygen -p -f ~/.ssh/id_ed25519. Put the public line in the server's ~/.ssh/authorized_keys, or use ssh-copy-id. On your own machine, ssh-keygen -t ed25519 -C [email protected] does the same without the key ever being in a browser.

Share

Frequently asked questions

Why does ssh say 'UNPROTECTED PRIVATE KEY FILE'?
The private key file is readable by other users. chmod 600 ~/.ssh/id_ed25519 fixes it.
Can I add a passphrase later?
Yes: ssh-keygen -p -f ~/.ssh/id_ed25519 encrypts the existing key with a new passphrase without changing the key itself.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Keep planning

Similar tools