Mac OS: ssh не может подключиться, даже если sshd прослушивает и брандмауэр выключен?

[Обновление - Решенный (?): См. Мой ответ ниже с моим решением. Я до сих пор не уверен, почему мои симптомы (кажется) изменились с полного отсутствия времени на прием за 3 минуты до успеха, хотя это то, что позволило мне отладить и найти обходной путь.]

Когда Я пытаюсь подключиться по ssh к своей машине с Mac OS, время ожидания истекает (как будто ничего не слушает порт - telnet для порта 22 также истекает). Я могу успешно пропинговать машину, поэтому сетевое соединение кажется правдоподобным, и я могу ssh с целевой машины на саму себя (localhost), так что она фактически прослушивает порт 22. В Фактически, я не могу подключиться по telnet к любому порту на этой машине.

[дополнительный факт: я установил веб-сервер на порт 8080, и аналогично я не могу подключиться к нему с других машин, но могу подтвердить, что он действительно прослушивает порт. Так что, похоже, это проблема сети / порта / брандмауэра и не имеет ничего общего с ssh.]

Системные настройки выглядят нормально (при совместном использовании удаленный вход включен для всех пользователей, а параметры брандмауэра подтверждают, что «Удаленный вход (SSH)») «Разрешить входящие соединения» (снимок экрана здесь) . И запускctl, кажется, показывает, что sshd запущен.

Я могу перейти с этой машины на другую машину с Mac OS, которая у меня есть - так что это тоже не проблема маршрутизатора [хотя: одна машина подключена через Ethernet, а проблемная машина подключается по беспроводной сети]. Насколько я могу судить, у меня оба Mac настроены одинаково.

Пару недель назад все работало нормально; С тех пор я установил обновление системы. Может быть, я тем временем изменил некоторые системные настройки; Я не помню, чтобы что-то менял. (Единственное другое отличие, как уже упоминалось: одна машина подключена к моему маршрутизатору по Ethernet, другая по беспроводной сети.)

Доказательства того, что машина («тропический») действительно слушает порт 22 с помощью sshd: она может видеть себя через localhost:

tropic> telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4

, а также sudo launchctl list com.openssh.sshd печатает около 20 строк, которые выглядят так же, как «правильная» версия в чужом сообщении.

НО при попытке подключения с другой машины ("экватор"):

equator> ssh -vvv tropic.local
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /Users/ibarland/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "tropic.local" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to tropic.local [192.64.0.3] port 22.
ssh: connect to host tropic.local port 22: Operation timed out

Сетевое соединение в порядке:

equator> ping -c 2 tropic.local
PING tropic.local (192.64.0.3): 56 data bytes
64 bytes from 192.64.0.3: icmp_seq=0 ttl=55 time=17.424 ms
64 bytes from 192.64.0.3: icmp_seq=1 ttl=55 time=19.654 ms

--- tropic.local ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 17.424/18.539/19.654/1.115 ms

Другие вещи, которые я пробовал / проверял: Я полностью отключил брандмауэр (на обоих компьютерах), и я попытался отключить брандмауэр моего маршрутизатора - ни один из них не помог. Обе стороны используют одну и ту же версию ssh. Оба были перезагружены; Я убедился, что у обоих установлено последнее обновление системы.

Я весь день бился головой об эту стену; любые идеи, стратегии отладки или другие предложения будут оценены. (Мне не удалось найти никаких сообщений системного журнала, созданных прослушивателем порта, если они есть.)

0
25.07.2017, 20:36
1 ответ

Не уверен, что это была (вся )проблема, но я решил проблему, связанную с таймаутами:

(a )Решение --или, по крайней мере, обходной путь --заключался в редактировании/etc/ssh/ssh_config:

Host tropic
    HostName 192.168.1.4

(предположительно это изменение будет работать и в ~/ssh/без привилегий суперпользователя)

(b )проблема была очень -длинной (~3 минуты )тайм-аут ssh:ssh -vvvпоказал, что он дважды пытался подключиться с использованием MAC-адреса; когда он наконец дошел до попытки IP-адреса, он быстро подключился. [Хотя мой вопрос, заданный 2 недели назад, похоже, не удался с тайм-аутом через несколько минут; не уверен, чем это отличалось, когда я вернулся к проблеме сегодня утром, когда в конце концов подключился, но только через несколько минут.]

(c )К сожалению, это реплицирует IP -адреса, которые я также указал в /etc/hosts--. Возможно, добавление информации в этот файл вызвало некоторые из моих проблем?

(d )Кстати, моя проблема НЕ была решена ни путем изменения ssh_configстрок, касающихся GSSAPIAuthenticationили GSSAPIDelegageCredentials, ни путем изменения sshd_configопции UseDNS.

1
28.01.2020, 04:43

Теги

Похожие вопросы