Free tool

SSH Config Generator

Stop typing mile-long ssh commands: aliased hosts with specific keys and bastion hops in one clean file.

Quick add:
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)

Full-Stack Developer · Guadalajara, España

I develop web apps, digital tools and full projects — from design to deployment.

Contact me

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. 1

    Add your hosts

    One per server or service; use the Git presets.

  2. 2

    Configure alias and key

    Short alias + the specific private key path for that context.

  3. 3

    Paste into ~/.ssh/config

    At the end of the file, keeping 600 permissions on it.

  4. 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 →