SSH Key Generator

Generate RSA, ED25519, and ECDSA SSH key pairs with optional passphrase protection.

  1. Home
  2. > Hash & Security >
  3. SSH Key Generator

A label to identify this key (commonly an email address or hostname).

If provided, the private key will be password-protected.

What is SSH?

SSH (Secure Shell) is a cryptographic network protocol for secure communication over an unsecured network. SSH key pairs are used for passwordless authentication to servers, Git repositories, and other remote services.

An SSH key pair consists of a public key that you place on the server (in ~/.ssh/authorized_keys) and a private key that you keep secret on your local machine. The server uses the public key to verify your identity when you connect.

Which Key Type Should I Choose?

ED25519 (Recommended)

Modern, fast, and highly secure. ED25519 keys are ~50% faster than RSA and provide excellent security with a compact key size. They are supported by OpenSSH 6.5+ and most modern systems.

RSA

The most widely supported key type. Works with virtually all SSH servers. Use 4096 bits for stronger security or 2048 bits for compatibility with older systems.

ECDSA

Based on elliptic curve cryptography. Available in 256-bit (P-256), 384-bit (P-384), and 521-bit (P-521) variants. P-256 offers security comparable to RSA 3072 with a much smaller key size.

How to Use an SSH Key

  1. Generate your key pair using this tool and copy the private key.
  2. Save the private key to ~/.ssh/id_ed25519 (or similar) and run chmod 600 ~/.ssh/id_ed25519.
  3. Add the public key to your server's ~/.ssh/authorized_keys file.
  4. Connect: ssh user@server — no password needed!

Frequently Asked Questions

Is my key stored on this server?

No. Your SSH key is generated in a temporary directory, displayed to you once, and then immediately deleted. The key is not stored, logged, or retained in any way.

Should I use a passphrase?

Yes, it is strongly recommended. A passphrase encrypts your private key on disk. Without one, anyone who gains access to your private key file can use it immediately. With a passphrase, they would also need to know your passphrase.

Can I use this key on GitHub / GitLab?

Yes. Simply go to Settings > SSH Keys in your GitHub or GitLab account and paste the public key. ED25519 and RSA keys are both supported.

What is the difference between public and private key?

The public key can be freely shared and placed on servers. The private key must be kept secret and never shared with anyone. Anyone with your private key can impersonate you.

Help2Code Logo
Menu