🗝️

SSH Key Generator

SSH key types reference and generation commands.

Input
SSH Key Guide

📖 What is SSH Key Generator?

SSH Key Generator creates public/private key pairs for secure server authentication. Generate RSA (2048/4096-bit) or Ed25519 keys with optional passphrases. The keys are generated entirely in your browser using the Web Crypto API — your private key is never transmitted over the network. Use it when setting up server access, GitHub SSH authentication, or automated deployments.

💡 Example

Input
Algorithm: Ed25519 Comment: user@laptop
Output
-----BEGIN OPENSSH PRIVATE KEY----- (private key data) -----END OPENSSH PRIVATE KEY----- ssh-ed25519 AAAA... user@laptop

🛠️ Common Use Cases

  • Generating SSH keys for GitHub, GitLab or Bitbucket authentication
  • Creating keys for secure server access (AWS, DigitalOcean, etc.)
  • Setting up passwordless SSH login
  • Generating deploy keys for CI/CD pipelines
  • Learning SSH key concepts

📝 RSA vs Ed25519

  • Ed25519 — recommended. Faster, shorter keys, and equally secure. Supported by all modern SSH clients.
  • RSA 4096 — widely compatible including older systems. Use when Ed25519 is not supported.
  • RSA 2048 — minimum acceptable key size. Use 4096 for better security margin.

⚠️ Common Mistakes

  • Sharing the private key — only the public key (.pub) goes on servers. The private key stays on your machine.
  • No passphrase — unprotected private keys are vulnerable if your device is compromised. Use a passphrase.
  • Wrong permissions — private key files must be chmod 600. SSH rejects keys with loose permissions.

❓ Frequently Asked Questions

Should I use RSA or Ed25519?
Ed25519 is recommended — it is faster, uses shorter keys, and provides equivalent security. Use RSA only if you need compatibility with older systems.
Where do I put the public key?
Copy the public key to ~/.ssh/authorized_keys on the server, or paste it into your GitHub/GitLab SSH settings.
What permissions should SSH keys have?
Private key: 600 (chmod 600 id_ed25519). Public key: 644. The .ssh directory: 700.
Is my data private?
Yes — all processing runs entirely in your browser. Your data is never sent to any server.
Is this tool free?
Completely free — no login, no usage limits, works offline once loaded.
Yes — completely free, no login required, no usage limits.
Is my data private?
Yes — all processing runs in your browser. Your data is never sent to any server.
Does it work offline?
Yes — once the page is loaded, the tool works without an internet connection.
🔒
Your data stays private. All processing happens entirely in your browser using JavaScript. Nothing is ever sent to our servers. You can even use this tool offline after the page loads.