Весеннее обновление Windows 10 SSH-клиент обратного туннелирования не работает

214
Mathieu Westphal

Я пытаюсь использовать команду клиента 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, другой брандмауэр не установлен, и я подключен к частной сети.

2
«Однако я не могу подключиться к своему приложению с удаленного компьютера к клиенту». Пожалуйста, [отредактируйте] свой вопрос, чтобы точно показать, как вы говорите этому приложению подключиться к этому удаленному порту, и точно объяснить, что происходит при попытке. Kenster 1 год назад 0
Это довольно большое приложение, и я не работаю с сокетом. Это работает хорошо через git bash ssh и Putty. Проблема не в стороне приложения. Mathieu Westphal 1 год назад 0
Но если у вас есть другой способ тестирования туннеля, например, простое приложение, которое я могу запустить, это было бы здорово. Mathieu Westphal 1 год назад 0
Пожалуйста, измените вопрос, чтобы ограничить его конкретной проблемой с достаточным количеством деталей, чтобы найти адекватный ответ. Старайтесь не задавать несколько разных вопросов одновременно. См. Страницу «Как спросить», чтобы получить разъяснения по этому вопросу. Вас попросили прояснить свой вопрос более недели назад, вместо того, чтобы прояснить его, вы получили награду. Если ваш вопрос неясен, и недостаточно подробностей, чтобы ответить на ваш вопрос, ваша награда пропадет. Аналогичным образом, если это остается неясным, модератор все еще может принять меры, чтобы закрыть вопрос. Ramhound 1 год назад 0
Я обновил вопрос. Дайте мне знать, что не ясно. Mathieu Westphal 1 год назад 0
Не могли бы вы включить команду ssh, которая не работает? harrymc 1 год назад 0
Это уже в посте. `ssh -R 8080: localhost: 11111 user @ remote`. Сама команда работает, но туннель не пропускает ничего. Mathieu Westphal 1 год назад 0
Я имел в виду команду, которая использует туннель. harrymc 1 год назад 0
Наконец-то я нашел способ протестировать его и поверить, что в Microsoft OpenSSH есть ошибка Mathieu Westphal 1 год назад 0

1 ответ на вопрос

2
Mathieu Westphal

Определенно есть ошибка в реализации Microsoft OpenSSH из 2018 Spring Update.

Как это проверить: На локальном компьютере (Windows 10) установите Python3, Putty и убедитесь, что ssh доступен. затем

  1. Запустите http-сервер Python в терминале (по умолчанию порт 8000)

    python -m http.server

  2. Создать обратное соединение 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 отключается почти сразу после подключения.

Если вы замените sshplink.exe из putty, он будет работать безупречно, и вы сможете подключиться через браузер.

Вы можете найти мой отчет об ошибке здесь: https://github.com/PowerShell/Win32-OpenSSH/issues/1265