Generate SSH key pairs (Ed25519, RSA, ECDSA) for server authentication. Get public and private keys in OpenSSH format, ready to paste into ~/.ssh/authorized_keys.
Public key will appear here
Paste into ~/.ssh/authorized_keys
Private key will appear here
Save to ~/.ssh/id_ed25519
SSH keys provide password-free, cryptographically secure authentication for remote servers, Git hosts, and cloud providers. This tool generates key pairs (Ed25519 or RSA) in OpenSSH format — public key ready to paste into ~/.ssh/authorized_keys, private key in the standard OpenSSH or PEM container format. Unlike the RSA/ECDSA Key Generator (which targets JWT signing and outputs PKCS8/SPKI PEM), this tool is purpose-built for SSH authentication with a comment field that embeds an identity label in the key. Everything runs entirely in your browser — no keys are ever sent to a server.
QWhat is the difference between this tool and the RSA/ECDSA Key Generator?
This tool is designed for SSH authentication. It outputs public keys in authorized_keys format (e.g. 'ssh-ed25519 AAAA… user@host') and private keys in the OpenSSH container format — the format expected by SSH clients like OpenSSH, PuTTY and ssh-agent. The RSA/ECDSA Key Generator targets JWT signing: it outputs PKCS8/SPKI PEM files used by JWT libraries, TLS stacks and OpenSSL. Even when both tools generate an RSA key, the binary format and intended use are different.
QWhy choose Ed25519 over RSA?
Ed25519 is recommended for most SSH use cases — it's faster to generate, produces compact 68-character public keys, and offers stronger security than 2048-bit RSA. All modern SSH servers and clients (OpenSSH 6.5+) support it.
QWhat should I do with the private key?
Save the private key to ~/.ssh/id_ed25519 (Ed25519) or ~/.ssh/id_rsa (RSA) with permissions 600. Never share it. Add the public key to your server's ~/.ssh/authorized_keys file or paste it into your Git host's SSH key settings.
QWill these keys work with GitHub, GitLab or Bitbucket?
Yes — both Ed25519 and RSA keys in OpenSSH format are fully supported. Paste the public key (the one-line authorized_keys output) into your account's SSH key settings.