deftools.io Security

🔑 SSH Key Generator

Generate an Ed25519 SSH key pair online in OpenSSH format.

About this tool

This tool generates an Ed25519 SSH key pair directly in your browser using the Web Crypto API, then formats it as an OpenSSH private key (-----BEGIN OPENSSH PRIVATE KEY-----) and an ssh-ed25519 public key line — the same output as ssh-keygen -t ed25519.

Use it when you need a fresh key pair for a server, a Git host like GitHub or GitLab, or a CI runner. Add the public key to the remote's ~/.ssh/authorized_keys (or paste it into the host's SSH-keys settings), and keep the private key on your machine at ~/.ssh/id_ed25519 with chmod 600.

Example: click Generate and you get a public line such as ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA… user@host plus the matching private key block and a SHA256: fingerprint you can compare against ssh-keygen -lf.

FAQ

Why Ed25519 instead of RSA?

Ed25519 keys are short, fast, and considered very secure. They are the modern default and are supported by all current SSH servers, GitHub, and GitLab. RSA is only needed for legacy servers that predate Ed25519 support.

How do I set the correct file permissions?

After saving the private key, run <code>chmod 600 ~/.ssh/id_ed25519</code>. SSH refuses to use a private key that is readable by other users.

Can I add a passphrase to the private key?

This tool outputs an unencrypted key. To add a passphrase afterwards, run <code>ssh-keygen -p -f id_ed25519</code> and enter a new passphrase when prompted.

Is the private key sent anywhere?

No. The key pair is generated in your browser and never leaves the page. Reloading the page discards it, so download or copy the private key before you navigate away.

Related security tools

Copied!