SSH Config Generator
Stop typing mile-long ssh commands: aliased hosts with specific keys and bastion hops in one clean file.
Host mi-servidor HostName 192.168.1.100 User miguel IdentityFile ~/.ssh/id_ed25519
Paste the blocks at the end of ~/.ssh/config (600 permissions). You can then connect with ssh alias and Git will use the right key for that host automatically.
Built by
Miguel Ángel Colorado Marin (MACM)
Built by
Miguel Ángel Colorado Marin (MACM)
Full-Stack Developer · Guadalajara, España
I develop web apps, digital tools and full projects — from design to deployment.
The ~/.ssh/config file is the most underused piece of daily server work: it turns "ssh miguel@203.0.113.10 -p 2222 -i ~/.ssh/keys/project.pem" into a plain "ssh project", automatically picks the right key when you have several (personal, work, clients), pins non-standard ports and chains bastion hops with ProxyJump without manual tunnels. This generator builds those blocks visually: add as many hosts as needed — including GitHub/GitLab presets that avoid the classic mistake of using your personal user instead of git — tune each field, add free-form options like ServerAliveInterval and copy the whole set ready to paste at the end of the file.
Features
- ✓Multiple hosts with short aliases
- ✓Ready-made GitHub and GitLab presets
- ✓Per-host port, user and IdentityFile
- ✓ProxyJump to reach machines behind a bastion
- ✓Free-form extra options line by line
How do I create an SSH config file?
- 1
Add your hosts
One per server or service; use the Git presets.
- 2
Configure alias and key
Short alias + the specific private key path for that context.
- 3
Paste into ~/.ssh/config
At the end of the file, keeping 600 permissions on it.
- 4
Connect by alias
ssh alias now applies user, port and key automatically.
Frequently asked questions
Why does GitHub require the git user?
Git over SSH authenticates by key, not username: the server always receives the literal git user and identifies you by which public key is registered. That's why the preset pins User git and your IdentityFile decides your identity.
What does ProxyJump actually do?
It opens an encrypted connection through the given host straight to the final target, with no tunnels or agent setup. It's the modern simple way to reach machines listening only on internal networks: set the bastion's alias and done.
Can I use patterns in Host?
Yes, the format allows it: Host *.company.com applies those options to any matching host. Add it through the extra options field as an additional Host line if needed.
Related tools
Embed SSH Config Generator on your site
Add SSH Config Generator to any web page with a simple iframe. Free, with attribution to miguelacm.es.
<iframe
src="https://miguelacm.es/embed/ssh-config-generator"
width="100%"
height="700"
frameborder="0"
title="SSH Config Generator — miguelacm.es"
></iframe>View embed in new tab →