web-dev-qa-db-ja.com

Spring Update Windows 10sshクライアントのリバースチューンリングが機能しない

春の更新以降、Windows10で使用できるsshクライアントコマンドを使用しようとしています。

「OpenSSHServer」オプションモジュールを使用せず、インストールされていません。「OpenSSHクライアント」のみを使用しています。

このsshコマンドは正しく機能しているようです。リモートのLinuxsshサーバーに接続でき、次のコマンドでsshtunellingを使用することもできます。

ssh -L 8080:localhost:11111 user@remote

次に、Windowsクライアントからlocalhost:8080を介して自分のアプリケーションに接続します。

しかし、逆トンネリングは機能していないようです。次のコマンド:

 ssh -R 8080:localhost:11111 user@remote

が機能していて、リモートLinuxのncで示されているように、ポートがリモートサーバーで開かれています。

nc -v 127.0.0.1 8080
localhost.localdomain [127.0.0.1] 8080 (http-alt) open

しかし、逆トンネルが機能しておらず、トンネルを介して通信できません。

これはmicrosostssh実装のバグですか?私は何か間違ったことをしていますか?

Windowsファイアウォールを完全に無効にし、他のファイアウォールをインストールしておらず、プライベートネットワークに接続しています。

2

2018 SpringUpdate以降のMicrosoftOpenSSHの実装には間違いなくバグがあります。

テスト方法:ローカル(Windows 10)で、Python3、PuTTYをインストールし、sshが使用可能であることを確認します。次に

  1. ターミナルでpython httpサーバーを実行します(デフォルトではポート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は接続後ほぼ瞬時に切断されます。

PuTTYのplink.exeでsshを置き換えると、問題なく動作し、ブラウザに接続できます。

私のバグレポートはここにあります: https://github.com/PowerShell/Win32-OpenSSH/issues/1265

3