Security6 min read

Generate SSH Keys Online: Ed25519 vs RSA, OpenSSH Format

Generate Ed25519 or RSA (2048/4096-bit) SSH key pairs in your browser. Download PKCS#8 private keys and OpenSSH public keys instantly.

Try the free online tool mentioned in this guide:SSH / RSA Key Generator

Why generate SSH keys online?

SSH keys are the secure way to authenticate to servers, Git repositories, and cloud platforms without typing a password. Generating them locally (with ssh-keygen) is standard, but an online generator in the browser is convenient for quick key creation without leaving your browser.

MyDevTools SSH Key Generator creates key pairs entirely client-side — the private key never leaves your machine. Download it, store it securely, and add the public key to your servers or platforms.

Ed25519 vs RSA: which should you use?

Ed25519: - 256-bit key, very small (~68 bytes). - Modern, faster, fewer implementation bugs than RSA. - Recommended for new setups. - Supported by all modern SSH implementations (OpenSSH 6.5+, GitHub, GitLab, AWS).

RSA 2048-bit: - Still secure, widely supported. - Larger keys (~1700 bytes). - Slower to generate and verify. - Safe if you cannot use Ed25519, but not recommended for new keys.

RSA 4096-bit: - Larger than 2048, but overkill for SSH. - Marginal security benefit over 2048, significantly slower. - Only use if your organization mandates it.

Recommendation: Use Ed25519 for new keys. Use RSA 2048 only if your systems do not support Ed25519.

Key formats: PKCS#8 vs OpenSSH format

SSH keys come in different formats:

PKCS#8 — Standard private key format, works with most cryptographic tools (OpenSSL, Java, Python). Use this for interoperability.

OpenSSH format — Native SSH format, used by ssh-keygen. Default for Linux/macOS. Slightly different structure than PKCS#8.

Public key — Usually in OpenSSH format (ssh-rsa ... or ssh-ed25519 ...). Add this to ~/.ssh/authorized_keys on servers or to GitHub/GitLab.

text
# OpenSSH public key format
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIm8Ij... user@hostname

# PKCS#8 private key format (PEM)
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCx...
-----END PRIVATE KEY-----

Using your generated SSH key

1. Download the private key and save it to ~/.ssh/id_ed25519 (or id_rsa for RSA). 2. Set permissions: chmod 600 ~/.ssh/id_ed25519 (private key must not be world-readable). 3. Add the public key to your server's ~/.ssh/authorized_keys or GitHub/GitLab account. 4. Test the connection: ssh -i ~/.ssh/id_ed25519 user@host.

If using Git with SSH, configure your Git client to use the key: git config core.sshCommand "ssh -i ~/.ssh/id_ed25519".

Security: protecting your private key

Your private key is like a password — never share it, never commit it to version control, never store it in the cloud. Keep it on your local machine with filesystem permissions (chmod 600) restricting access.

If you suspect a private key has been compromised, regenerate it and update the public key on all servers and platforms that use it.

Frequently asked questions

Can I use a password-protected SSH key?

Yes. When generating a key locally with ssh-keygen, you can set a passphrase. The key generator online does not support passphrases yet — protect the downloaded file with your OS file system security.

What if I lose my private key?

Regenerate a new key pair and update the public key on all servers/platforms. The old private key becomes useless.

Can I use the same SSH key on multiple servers?

Yes, add the same public key to authorized_keys on all servers. Using the same key across multiple systems is fine.

Is it safe to generate SSH keys in a browser?

Yes, if the generator runs locally in the browser with no server upload. MyDevTools SSH Key Generator is client-side only.

Try SSH / RSA Key Generator for free

Generate Ed25519 or RSA key pairs (2048/4096-bit) in your browser. Download private key (PKCS#8 PEM) and public key in OpenSSH and SPKI PEM formats. Nothing is uploaded. No install, no account required to try it.