ssh
і host
розв’язувати імена за абсолютно різними шляхами, тому не дивно, що вони іноді дають різні результати, особливо коли ім'я для вирішення не є FQDN (звідси пропозиція використовувати FQDN всюди.)
Ви нічого не згадуєте про вашу ОС та конфігурацію вашої системи, тому я маю тримати це загальне, дивлячись на Linux: подробиці MacOS дещо інші, а Windows ще більше, але загальні поняття однакові.
host
запитує DNS, тому в основному він заглядає /etc/resolv.conf
і запитує перераховані там сервери, можливо, додаючи доменне ім’я, якщо ім'я хоста ще не повністю кваліфіковане. Він ігнорує будь-яке інше можливе джерело, але майте на увазі, що в наші дні в багатьох системах працює локальний кешуючий DNS-сервер (як правило dnsmasq
), який читає /etc/hosts
та інші джерела, перш ніж запитувати інші DNS-сервери, тож якщо host
запити, що надходять на локальний сервер, результати /etc/hosts
можуть повзати.
ssh
слід своїм шляхом. Я опишу, що openssh
робить Linux, інші розробки реалізуються. Спочатку він шукає прізвиська хостів, визначені у конфігураційних файлах (загальносистемні /etc/ssh/ssh_config
та на кожного користувача ~/.ssh/config
), потім здійснює пошук інших джерел у порядку, визначеному hosts:
директивою в /etc/nsswitch.conf
. Скажіть, це щось на кшталт:
hosts: files dns
це означає: загляньте /etc/hosts
та /etc/resolv.conf
повторіть запит на DNS ( ще раз). Інші можливі джерела - застарілі nis
та netinfo
сервіси, LDAP, активний каталог, ви їх називаєте.
Щоб налагодити ваш конкретний випадок, вам слід пройти шлях, яким рухається ваше впровадження, ssh
і з’ясувати, де він застряє.
storage
це живий домен верхнього рівня в Інтернеті.