Fun fact: if you fuck up the only entry in .ssh/config you get some very confusing behaviour
$ cat .ssh/config
Hostname gitlabssh.home
IdentityFile ~/.ssh/gitlab.key
What would you expect this to do?
ssh myserver.example.com
It'll open a SSH session to gitlabssh.home.
That first line should be
Host gitlabssh.home
The directive HostName is valid, but overrides the destination connection name. With no "Host" before it, it applies globally.
That was mildly confusing few minutes.