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

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