春の更新以降、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ファイアウォールを完全に無効にし、他のファイアウォールをインストールしておらず、プライベートネットワークに接続しています。
2018 SpringUpdate以降のMicrosoftOpenSSHの実装には間違いなくバグがあります。
テスト方法:ローカル(Windows 10)で、Python3、PuTTYをインストールし、sshが使用可能であることを確認します。次に
ターミナルでpython httpサーバーを実行します(デフォルトではポート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は接続後ほぼ瞬時に切断されます。
PuTTYのplink.exeでssh
を置き換えると、問題なく動作し、ブラウザに接続できます。
私のバグレポートはここにあります: https://github.com/PowerShell/Win32-OpenSSH/issues/1265