SSH Key Generator Command Builder
Custom-tailor Ed25519, RSA, and ECDSA ssh-keygen parameters. Your command assembles in real time - copy it straight to your terminal.
$
$ ssh-copy-id -i ~/.ssh/id_ed25519.pub user@hostname
user@hostname with your actual server credentials.The Complete Guide to SSH Key Generation
SSH key authentication replaces the guessable, brute-forceable password login with a cryptographic challenge-response. Once you understand what each flag does, you will never use the defaults blindly again - and this tool builds the exact command you need.
How to Use This Tool
Select your algorithm in the Key Type dropdown. Ed25519 is the default and the right choice for almost every use case. If you need to access an old device or server that does not support elliptic-curve keys, choose RSA and the key size field will appear - set it to 4096.
Set KDF Rounds to a value between 64 and 256. The default of 100 rounds is a good balance: fast enough that unlocking the key is imperceptible, slow enough that an attacker with a stolen key file needs hours instead of seconds to crack a weak passphrase. Add a comment in the Comment field to label which machine this key lives on. The generated command updates instantly with every change - copy it and run it in your terminal when ready.
Understanding the ssh-keygen Flags
The -t flag sets the key type (the algorithm). The -b flag sets the key size in bits, which only applies to RSA and ECDSA - Ed25519 uses a fixed 256-bit curve and ignores this flag entirely. The -a flag controls KDF iteration count. The -C flag embeds a comment string at the end of your public key line, which is purely a label with no effect on security. The -f flag specifies the output file path - omitting it uses the algorithm-appropriate default (~/.ssh/id_ed25519 for Ed25519, ~/.ssh/id_rsa for RSA).
After Generating Your Key
Once ssh-keygen runs, you have two new files: the private key (no extension) and the public key (.pub). Use ssh-add ~/.ssh/id_ed25519 to load the private key into your ssh-agent so you only need to enter the passphrase once per session. Then use ssh-copy-id with your .pub file to install the public key on any server you want to access. The Next Steps command shown in the terminal above is pre-filled with your chosen file path.
Frequently Asked Questions
-a flag controls how many rounds of the Key Derivation Function (KDF) are applied when encrypting your private key with a passphrase. A higher round count means more computation is required to derive the encryption key from your passphrase. This directly multiplies the cost of a brute-force attack against a stolen private key file. The default in most OpenSSH versions is 16. Setting it to 100 makes offline cracking attempts roughly 6 times more expensive. Setting it to 200 doubles that again. There is no downside except a tiny delay when you first unlock the key - the unlocking calculation only runs once per ssh-agent session.