1

Когда я пытаюсь подключиться к моему серверу, используя ssh с:

ssh -v -p PORT user@domain.com

Я вижу:

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to domain.com [62.XX.XXX.157] port 10XXX

где IP не так.

Если я захожу на сайт в браузере, домен указывает на правильный IP.
Если я пытаюсь получить доступ через FTP, это правильно.

Как я могу это исправить?

2 ответа2

0

Я столкнулся с этой проблемой сегодня в Mac OS X High Sierra; даже если

host domain.com

вернул правильный IP-адрес, SSH все еще пытался подключиться к старой версии IP-адреса. Вы можете понять это, добавив много флагов -v в ssh, например:

ssh -vvvv user@domain.com
OpenSSH_7.5p1, LibreSSL 2.5.4
debug1: Reading configuration data /Users/razzed/.ssh/config
debug1: /Users/razzed/.ssh/config line 4: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 52: Applying options for *
debug2: resolving "domain.com" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to domain.com [XX.XX.XX.XX] port 22.

Проблема заключается в том, что IP-адрес этого хоста неправильно кэшируется в DNS-кэше Mac OS и будет отличаться от вывода host в позиции [XX.XX.XX.XX] выше.

У Нила Джи (из « Самых крутых гидов на планете») есть современный способ очистки локального кеша DNS в macOS. На сегодняшний день команда:

sudo killall -HUP mDNSResponder

Как только я это сделал, ssh правильно подключился к нужному IP-адресу.

0

Извините, Кристиан, не могу оставлять комментарии, потому что у меня недостаточно репутации в суперпользователе ...

Если разрешение DNS вообще неверно:

Во-первых, проверьте dns, если это неправильно, и вы можете изменить его, просто измените его, если dns правильно определен, но разрешение неверно, проверьте, какое разрешение ttl, выполнив:

dig +nocmd +noall +answer +ttlid type subdomain.domain.com

скажем так ответ

subdomain.domain.com   86400 the_wrong_ip

Это будет означать, что он будет кэшироваться в DNS на один день ... так что более того, это признак проблемы, если она не решается хорошо. Посмотрите на разные DNS, чтобы увидеть, если проблема разрешения является общей. Вы можете сделать это с

dig @other_nameserver_ip subdomain.domain.com

Возможно, маршрутизатор в вашей сети кеширует неверный IP-адрес или получает плохое разрешение, но с остальным миром все в порядке. Если вы не добьетесь успеха, я бы добавил добавление правильного ip к файлу hosts, поскольку ftp использует функцию gethostbyname, поэтому перед обращением к dns он обращается к файлу hosts; но если это должно быть вызвано третьей стороной ... хорошо

Надеюсь, что некоторые из советов помогут вам найти источник проблемы

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .