Skip to content
100% local

SSH config generator

Turn a list of servers into ready-to-use Host blocks for ~/.ssh/config.

Input
Output

SSH config generator

Paste one or more servers — alias, host and user, one per line — and this tool builds the matching Host blocks for your ~/.ssh/config file. It is built for anyone who manages more than a couple of servers: pass a whole table at once and get back a complete, ready-to-paste config instead of typing each block by hand.

Each row can be as short as "alias, host, user", or add a fourth and fifth field to override the port and private key path for that one server. Everything else is a shared option applied to every block: a default port and identity file, a jump host through ProxyJump for servers behind a bastion, a LocalForward line for port forwarding, a keep-alive interval (ServerAliveInterval), connection sharing with ControlMaster, and a switch to disable agent forwarding. Turn on "sort blocks alphabetically" to keep a long config tidy, and "add a comment above each block" to make each entry easier to spot when you scroll through the file.

Rows are separated by commas or tabs, so a table copied straight out of a spreadsheet works without reformatting. A row missing an alias, host or user is skipped rather than breaking the whole batch, and Windows (CRLF) and Unix (LF) line endings are handled the same way. The live tally under the output shows how many Host blocks, directives and lines were generated as you type.

Everything runs locally in your browser — hostnames, usernames and key paths are never uploaded anywhere. When you are done, copy the result, download it as a .txt file to drop into ~/.ssh/config, or send the output back into the input to keep refining it.

FAQ

What format does the input table use?
One server per line: alias, host, user, with an optional fourth field for a per-server port and a fifth for a per-server private key path. Fields can be separated by commas or tabs.
What happens to a row with a missing field?
A row without an alias, host or user is skipped and left out of the result — it does not stop the other rows from being generated.
Can I generate configs for servers behind a bastion host?
Yes. Set the "Jump host (ProxyJump)" option and every generated block includes a ProxyJump line pointing at it.
Does it overwrite my existing ~/.ssh/config?
No, the tool only produces text. Copy the generated blocks into your own config file, or append them, using any editor you like.
Is my server list uploaded anywhere?
No. The SSH config is generated entirely in your browser — your hosts, usernames and key paths never leave your device.