SSH Config Generator
Build ~/.ssh/config Host entries with keys, ports and ProxyJump.
About this tool
List your servers one per line as alias user@host:port, an optional key file and an optional "via bastion". Tick the defaults you want, such as keep-alives, AddKeysToAgent, macOS Keychain and connection sharing. Copy or download the config and save it as ~/.ssh/config.
Making SSH easier with a config file
Instead of typing ssh -i ~/.ssh/db_key -p 2222 -J deploy@bastion.example.com ubuntu@10.0.2.5, an SSH config lets you type ssh db. Each Host block maps an alias to a HostName, User, Port and IdentityFile. ProxyJump reaches private servers through a bastion (jump host) without copying keys to it, which is safer than agent forwarding. IdentitiesOnly yes makes SSH offer only the named key, avoiding "Too many authentication failures" when your agent holds many keys. The final Host * block sets defaults for everything. ServerAliveInterval keeps idle sessions from being dropped by NAT and firewalls, AddKeysToAgent remembers your passphrase, UseKeychain stores it in the macOS Keychain, and ControlMaster reuses one connection for repeat sessions and scp. SSH uses the first value it finds for each option, so specific hosts must come before the wildcard. The aliases also work with scp, rsync, git and VS Code Remote-SSH. Honest limits: set chmod 600 ~/.ssh/config, never paste private key contents into the file (only paths), UseKeychain is macOS-only, and ControlMaster isn't available in Windows' built-in OpenSSH. The RSA key generator and the systemd service generator are related.
Frequently asked questions
Where is the SSH config file?
In ~/.ssh/config on macOS and Linux, and C:\Users\YOU\.ssh\config on Windows.
What is ProxyJump?
It connects to a server through a bastion host in one step: ssh -J bastion target, or ProxyJump in the config.
Why use IdentitiesOnly yes?
So SSH offers only the key you named, avoiding 'Too many authentication failures'.
Is anything uploaded?
No. The file is generated in your browser and nothing is stored or sent.