Eu recentemente quis fazer algo com host e hostname, mas esqueci a sintaxe exata ... mas googling sobre isso foi uma bagunça e man page não foi muito útil. Então, supondo que haja outros que tenham a mesma necessidade, aqui estão meus petiscos.
O host especifica o argumento da linha de comando e pode ser considerado como a) nome do host / IP real, b) abreviado, c) alias. O HostName é o nome de host / IP real da máquina à qual você está se conectando. No campo HostName, você pode usar% h como a string do nome do host especificada na linha de comando. (Esta foi a parte que eu queria usar no meu exemplo.)
Então, digamos que você tenha um conjunto de hosts onde o hostname comece com my-proj-host -... e eles estejam todos no domínio .my.proj.domain.com, e eu preciso fazer o login deles usando chave ssh específica my-proj-id-rsa e ID de usuário específico my-proj-user.
Para facilitar minha vida, adicionaria o seguinte ao arquivo ~ / .ssh / config
Host my-proj-host*
HostName %h.my.proj.domain.com
User my-proj-user
IdentityFile ~/.ssh/my-proj-id-rsa
Agora, posso digitar
ssh my-proj-host-1234
Sem a configuração, isso teria sido
ssh -i ~/.ssh/my-proj-id-rsa [email protected]
economizando um pouco de digitação (e erros de digitação).