Skip to content
gohacks.dev
Tooling

SSH Config Generator

Build ~/.ssh/config entries with aliases, users, ports, identity files and ProxyJump through a bastion, plus keep-alive and connection sharing.

Free · No sign-up · Your inputs stay in your browser

Input

Generate an SSH client config

Output

~/.ssh/config

406 characters

Host * goes last because ssh uses the first value it finds for each option. ProxyJump (OpenSSH 7.3+) replaces ProxyCommand chains. Forward the agent only to hosts you trust: anyone with root there can use your keys while you are connected. The file must not be writable by others (chmod 600).

Runs in this browser. Nothing you paste is sent to a server.

Aliases instead of flags

With a config entry, ssh app-1 replaces ssh -i ~/.ssh/key -p 2222 [email protected], and scp, rsync, git and Ansible read the same file. ssh uses the first value it finds for each option, so specific hosts go first and Host * last. Every option is listed in ssh_config(5).

Bastions

ProxyJump bastion connects to the private server through the bastion with end-to-end encryption, so the bastion never holds your key. It replaced ProxyCommand chains in OpenSSH 7.3. ForwardAgent is the alternative to avoid: while you are connected, root on the remote host can use your agent's keys.

Share

Frequently asked questions

What does IdentitiesOnly yes do?
It makes ssh offer only the key named for that host, rather than every key in the agent. Without it, servers that allow few attempts can reject you with 'Too many authentication failures'.
Why does my SSH connection drop when idle?
A NAT or firewall forgets idle connections. ServerAliveInterval 60 sends a keep-alive every minute and prevents it.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Keep planning

Similar tools