Nslookup é um programa para consultar servidores de nomes de domínio da Internet . O Nslookup é muito bom para consultar servidores DNS, mas não fornece uma imagem completa quando se trata de resolução de nomes.
No Linux, a resolução de nomes é geralmente controlada pelo NSS, que é configurado por /etc/nsswitch.conf. Especificamente, esta configuração contém uma hostsentrada. Por exemplo:
hosts: files dns
Na entrada acima, você pode ver que a primeira coisa a ser consultada é filesseguida por dns, o que significa que /etc/hostsserá consultado antes do DNS. Existem outras opções, incluindo LDAP , DNS Multicast e WINS .
Respondendo à sua pergunta diretamente, o SSH resolve o nome do host para um endereço IP usando o NSS (obtendo resultados de várias fontes) em que o nslookup consulta apenas o DNS.
Você pode verificar para qual IP NSS resolve um nome de host usando getent. Por exemplo, para resolver somename:
getent hosts somename
Também no caso do SSH, você pode configurar informações específicas do host em /etc/ssh/ssh_confige ~/.ssh/config. Isso permitirá que você especifique um endereço IP para um nome de host, ignorando completamente a resolução de nomes .:
O seguinte diz ao SSH para usar 192.168.1.25para deve dev.example.com. O SSH usará este endereço, existindo ou não esses nomes como nomes DNS para um IP diferente:
# contents of $HOME/.ssh/config
Host dev dev.example.com
HostName 192.168.1.25
/etc/hostsou~/.ssh/config?