O arquivo ~/.ssh/config não tem nada a ver com /etc/hosts . Em vez disso, é um arquivo de configuração para usar ssh , se existir.
Você pode ver que ssh refere-se a esse arquivo antes de fazer qualquer outra coisa usando a opção detalhada, -v , para ssh .
Entrada do host em ~ / .ssh / config
Aqui eu tenho uma entrada no meu arquivo ~/.ssh/config para um servidor chamado "skinner". Estou habilitando o nível de depuração 3, incluindo 3% de-v de switches.
Exemplo
$ ssh -vvv skinner
OpenSSH_6.2p2, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /home/saml/.ssh/config
debug1: /home/saml/.ssh/config line 8: Applying options for *
debug1: /home/saml/.ssh/config line 35: Applying options for skinner
debug1: /home/saml/.ssh/config line 55: Applying options for *
debug3: cipher ok: arcfour [arcfour,blowfish-cbc]
debug3: cipher ok: blowfish-cbc [arcfour,blowfish-cbc]
debug3: ciphers ok: [arcfour,blowfish-cbc]
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
debug1: auto-mux: Trying existing master
...
Acima, você pode ver que ssh está fazendo uso desta definição e nem mesmo consultando os recursos de resolução de nomes do sistema.
Nenhuma entrada de host em ~ / .ssh / config
Se não houver uma entrada correspondente no arquivo ~/.ssh/config , ssh consultará a resolução DNS do sistema para descobrir como se conectar a um nome de host especificado.
Exemplo
$ ssh -vvv skinner
OpenSSH_6.2p2, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /home/saml/.ssh/config
debug1: /home/saml/.ssh/config line 8: Applying options for *
debug1: /home/saml/.ssh/config line 55: Applying options for *
debug3: cipher ok: arcfour [arcfour,blowfish-cbc]
debug3: cipher ok: blowfish-cbc [arcfour,blowfish-cbc]
debug3: ciphers ok: [arcfour,blowfish-cbc]
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
debug1: auto-mux: Trying existing master
debug1: Control socket "/home/saml/.ssh/master-saml@skinner:22" does not exist
debug2: ssh_connect: needpriv 0
debug1: Connecting to skinner [192.168.1.3] port 22.
debug1: Connection established.
Aqui você pode ver que ssh está consultando o sistema para descobrir o endereço IP do hostname "skinner".
OBSERVAÇÃO: você pode usar getent para procurar nomes de host em seu sistema:
$ getent hosts skinner
192.168.1.3 skinner.dom.net