ssh
y host
resolver nombres siguiendo rutas completamente diferentes, por lo que no es sorprendente que a veces den resultados diferentes, especialmente cuando el nombre a resolver no es un FQDN (de ahí la sugerencia de usar FQDN en todas partes).
No mencionas nada sobre tu sistema operativo y la configuración de tu sistema, así que tengo que mantenerlo en general, con un ojo en Linux: los detalles de MacOS son algo diferentes y Windows aún más, pero los conceptos generales son los mismos.
host
consulta DNS, por lo que básicamente busca /etc/resolv.conf
y consulta los servidores enumerados allí, posiblemente adjuntando un nombre de dominio si el nombre de host aún no está completamente calificado. Ignora todas las demás fuentes posibles, pero tenga en cuenta que en estos días muchos sistemas ejecutan un servidor DNS de almacenamiento en caché local (generalmente dnsmasq
) que lee /etc/hosts
y otras fuentes antes de consultar otros servidores DNS, por lo que si las host
consultas a ese servidor local, los resultados /etc/hosts
pueden arrastrarse.
ssh
sigue su propio camino. Describiré qué openssh
hace bajo Linux, otras implementaciones difieren. Primero busca los apodos de host definidos en los archivos de configuración (en todo el sistema /etc/ssh/ssh_config
y por usuario ~/.ssh/config
), luego busca otras fuentes en el orden especificado por la hosts:
directiva /etc/nsswitch.conf
. Digamos que es algo como:
hosts: files dns
Esto significa: buscar /etc/hosts
y luego consultar el DNS ( /etc/resolv.conf
nuevamente). Otras fuentes posibles son los obsoletos nis
y los netinfo
servicios, LDAP, el directorio activo, los nombras.
Para depurar su caso particular, debe seguir el camino que ssh
sigue su implementación y averiguar dónde se atasca.
storage
es un dominio de nivel superior en vivo en Internet.