[Обновление - Решенный (?): См. Мой ответ ниже с моим решением. Я до сих пор не уверен, почему мои симптомы (кажется) изменились с полного отсутствия времени на прием за 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. Оба были перезагружены; Я убедился, что у обоих установлено последнее обновление системы.
Я весь день бился головой об эту стену; любые идеи, стратегии отладки или другие предложения будут оценены. (Мне не удалось найти никаких сообщений системного журнала, созданных прослушивателем порта, если они есть.)
Не уверен, что это была (вся )проблема, но я решил проблему, связанную с таймаутами:
(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
.