Я установил OpenSSH-сервер на свой ПК с Windows 10 (вероятно, «домашнюю» версию, а не сервер Windows), используя руководство Майкрософт. я не менял C:/Windows/System32/OpenSSH/sshd_config_default
файл (хотя я не думаю, что это здесь уместно в любом случае). я может войти на машину с терминала на той же машине:
У меня есть еще одна машина, работающая в той же локальной сети (оба подключены к одному и тому же маршрутизатору SoHo). Из него попытка подключения к Windows 10 завершается неудачей:
kex_exchange_identification: Соединение закрыто удаленным хостом
Соединение закрыто портом 22 10.0.3.130
Согласно с этот ответ на другую похожую тему, эта ошибка возникает, когда сервер закрывает TCP-соединение во время криптографического обмена или что-то в этом роде. Итак, я посмотрел на брандмауэр Windows, но там является включенное входящее правило для TCP-порта 22 (и, кроме того, если бы это была проблема с отсутствующим правилом, клиент SSH просто бы тайм-аут, а не ошибка в kex_exchange_identification
):
Поэтому я попытался запустить Wireshark на сервере (10.0.3.130). Похоже, что сервер принимает рукопожатие TCP, затем другая машина (10.0.3.10) отправляет какой-то протокол SSH-пакет, а затем сервер просто закрывает соединение:
Чтобы посмотреть, что произойдет, я зашел в Windows. Услуги
приложение и остановил SSH-сервер OpenSSH
service, затем попробовал то же самое, но результат с Wireshark тот же:
Единственное, что я заметил и чего не совсем понимаю, это то, что бег netstat -ab
в администраторе PowerShell показывает, что на порту 22 есть активный прослушиватель, даже когда OpenSSH остановлен (я думаю, только для Windows...):
Так что, да... Я растоптан в этот момент. Любые идеи?