sshи hostразрешать имена по совершенно разным путям, поэтому неудивительно, что они иногда дают разные результаты, особенно когда разрешаемое имя не является полным доменным именем (отсюда и предложение использовать полные доменные имена везде).
Вы ничего не упоминаете о своей ОС и конфигурации вашей системы, поэтому я должен держать это в общих чертах, ориентируясь на 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и затем запросите DNS ( /etc/resolv.confснова). Другие возможные источники являются устаревшими nisи netinfoуслуги, LDAP, Active Directory, вы называете их.
Чтобы отладить ваш конкретный случай, вы должны следовать по пути, по которому следует ваша реализация, sshи выяснить, где он застрял.
storageэто живой домен верхнего уровня в Интернете.