Use the free SSH Config Generator below: your data never leaves your browser — all work happens on your device, and nothing is uploaded to any server.
Stop Typing Long SSH Commands
Connecting to a server by SSH usually starts with a long command: ssh -p 2222 -i ~/.ssh/mykey deploy@203.0.113.10. It works, but it is tedious to type, easy to mistype, and impossible to remember for five servers. The SSH config file solves this completely. With a short block in ~/.ssh/config, the same connection becomes ssh myserver, and every detail, the port, the user, the key, and the host name, is stored once and reused forever.
This generator writes that block for you. Fill in the alias, host name, user, port, and key file, and get a clean config section to paste into your config file. The tool never stores or sends your server details; everything happens in your browser, and the result exists only on your screen until you copy it.
How an SSH Config Block Works
A config file is a list of Host blocks. Each block starts with a Host line giving the alias, followed by indented settings that apply whenever you use that alias. HostName is the real address: an IP or a domain name. User is the account you log in as. Port is the SSH port, which defaults to 22 and can be left out when it matches. IdentityFile points to the private key for that server, which lets you use a different key per server instead of one key everywhere.
Aliases can also use patterns. A Host line of *.example.com applies its settings to every server under that domain, which is a tidy way to set a shared user or key for a whole fleet. Specific blocks come first and win over general ones, so you can set a default for the fleet and override it for one special server. The generator builds single-host blocks, which is the right starting point; patterns are a later refinement once you are comfortable.
Setting Up Your Config File
On Linux and macOS, the file lives at ~/.ssh/config. Create the .ssh folder if it does not exist, then open the file in a text editor and paste the generated block. Set the file’s permissions to 600, meaning only you can read and write it, because SSH refuses to use a config file that others can read. The command chmod 600 ~/.ssh/config does this. On Windows, modern OpenSSH uses a similar file in your user folder, and the same format applies.
Test the block with ssh myserver, using your alias. If it connects, you are done. If it asks for a password when you expected a key, check that the IdentityFile path is correct and that the public key is installed on the server in ~/.ssh/authorized_keys. If it says the host key changed, do not ignore the warning: it can mean the server was rebuilt, but it can also mean something is intercepting your connection. Verify with your hosting provider before accepting a new key.
Keys, Security, and Good Habits
Use a separate key per purpose where practical: one for your personal servers, one for work, one for a client project. If one key leaks, you revoke one key instead of rebuilding your access everywhere. Protect important keys with a passphrase, and use the system keychain or ssh-agent so you type the passphrase once per session instead of once per connection. Never paste a private key into any web page, chat message, or ticket, including this generator, which has no field for one and never needs one.
Two extra options are worth knowing. ForwardAgent yes lets a server you connect to use your local key for a further hop, which is convenient for jumping through a bastion host but risky on a server you do not fully trust, so enable it per host, not globally. ServerAliveInterval 60 sends a keep-alive every minute, which stops firewalls from silently dropping idle connections during a long session.
Frequently Asked Questions
Where does the config file go? On Linux and macOS, ~/.ssh/config. On Windows with OpenSSH, the .ssh folder inside your user profile.
Why does SSH ignore my config file? Almost always permissions. The file must be readable only by you: chmod 600 fixes it.
Can one alias cover several servers? Yes, with patterns like *.example.com. Start with single-host blocks, then add patterns once the basics work.
Generate the block, paste it once, and type ssh myserver from now on.
Related Tools
Also available in Spanish: Generar Configuración SSH Gratis – Crea tu Archivo config.
More free tools: cURL Command Builder – Build cURL Commands Free Online, API Request Code Generator – Generate Fetch and Python Snippets Free, Open Graph Card Preview – Preview Social Share Cards Free Online, URL Query Parameter Editor – Edit URL Query Parameters Free Online, MIME Type Lookup – Find the MIME Type of Any File Extension Free, JSON Key Sorter – Sort JSON Keys Alphabetically Free Online, Nginx Config Generator – Generate Nginx Server Blocks Free Online, Env File Generator – Generate .env Files Free Online, Remove Duplicate Lines Online Free – Delete Repeated Lines Fast.
