Весеннее обновление Windows 10 SSH-клиент обратного туннелирования не работает
Я пытаюсь использовать команду клиента ssh, доступную в Windows 10, начиная с весеннего обновления.
Я не использую дополнительный модуль "OpenSSH Server" и он не установлен, я использую только "OpenSSH клиент"
Эта команда ssh, кажется, работает правильно, я могу подключиться к удаленному Linux-серверу Linux и даже использовать ssh tunelling с помощью следующей команды
ssh -L 8080:localhost:11111 user@remote
А затем подключиться с моим собственным приложением через localhost:8080 из клиента Windows.
Но обратное туннелирование, похоже, не работает. Следующая команда:
ssh -R 8080:localhost:11111 user@remote
работает, и порт открыт на моем удаленном сервере, как показывает nc на моем удаленном Linux:
nc -v 127.0.0.1 8080
localhost.localdomain [127.0.0.1] 8080 (http-alt) open
Но обратный туннель не работает, и я не могу связаться через туннель.
Это ошибка в реализации sso microsost? Я делаю что-то неправильно?
Я полностью отключил брандмауэр Windows, другой брандмауэр не установлен, и я подключен к частной сети.
1 ответ
Определенно есть ошибка в реализации Microsoft OpenSSH из 2018 Spring Update.
Как это проверить: На локальном компьютере (Windows 10) установите Python3, Putty и убедитесь, что ssh доступен. затем
Запустите http-сервер Python в терминале (по умолчанию порт 8000)
python -m http.server
Создать обратное соединение SSH туннеля
ssh -R 8080:localhost:8000 user@remote
На пульте подключитесь через туннель с помощью telnet
>telnet localhost 8080
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
Туннель все еще работает, но telnet отключается почти сразу после подключения.
Если вы замените ssh
от plink.exe из putty, он работает без нареканий и вы можете подключиться через браузер.
Вы можете найти мой отчет об ошибке здесь: https://github.com/PowerShell/Win32-OpenSSH/issues/1265