1. Remembering multiple hostnames and keys in a centralized location
I manage a fleet of VPSs, whose hostnames, credentials I don't always remember off the top of my head. Writing ssh -i <identity> <hostname> gets tedious when I'm wrangling multiple of them over a single session
2. Faithful terminal emulation
Zoc does a great job at emulating a plethora of terminals; it's not a do or die feature, but nice to have.
3. Separation of concerns
This is a personal reason, but I like having two different applications while I am doing something that needs me to SSH to multiple VPSs, my main terminal will have local commands, local file editing, etc while my SSH client will only be used for remote connections and management. Just helps me keep things tidy for myself.
Also as I mentioned in the parent I primarily use my main terminal to SSH; but for the cases mentioned it's nice to use a separate client.
There’s ssh_config(5) for that.
Instead I have some files elsewhere that I source into my terminal on start, containing:
export M4MINI=192.168.1.204
I wouldn't worry, but I also have the habit of adding things to the index explicitly. If I did worry: gitignore.
I'm also not sure why version control on ssh config should be a problem, unless previous poster confuses version control and "send everything to the cloud".
I don't understand, though, why you would not want to init a git repo in ~/ssh? What am I missing? It's not like "having version control" is the same as "upload it".