When I'm dealing with SSH connections using key pairs, usually I put this in my
Host <easy-to-remember-host> Hostname <ip-address> User <user> IdentityFile ~/.ssh/id_rsa_host_key
$ ssh <easy-to-remember-host>
SSH client will then automatically select correct key, find matching user and appropriate IP address. Works as expected, especially if there are multiple hosts and multiple keys (you don't use single key for all your servers, right?).
For some time I was looking for solution to have multiple
Host values, but single
Hostname and everything what goes in that block. In short, I wanted to be able to say
ssh foo or
ssh baz and in both cases, SSH client to use the same IP address, keys and other options.
This failed miserably of course:
Host foo Host baz Hostname <ip-address> User <user> IdentityFile ~/.ssh/id_rsa_host_key
but when I found this post, I learned that actual solution was very simple:
Host foo baz Hostname <ip-address> User <user> IdentityFile ~/.ssh/id_rsa_host_key
To be honest, I should be blamed; after re-reading
ssh_config man page once again, but with more focus now, this is stated:
Host Restricts the following declarations (up to the next Host or Match keyword) to be only for those hosts that match one of the patterns given after the keyword. If more than one pattern is provided, they should be separated by whitespace. ...
I have to remind myself (once again) that Open(SSH|BSD) man pages are on totally different level - succinct, precise and usually answers the question.