ネイティブ Windows bash 経由の SSH トンネル: アドレスは既に使用されています

ネイティブ Windows bash 経由の SSH トンネル: アドレスは既に使用されています

Windows マシンで SSH トンネルを設定しようとしています。bash は 1607 で導入されたので、もう cygwin は使いたくありません。問題は、bash が常に次のエラー メッセージを返すことです。bind: Address already in use私が使用しているコマンド (cygwin で動作します) は次のとおりです。

ssh [email protected] -L 8022:173.22.0.1:22

すでに使ってみましたたくさんの別のポートを試してみましたが、成功しませんでした。また、次の方法でそのポート上のすべてを強制終了しようとしました:

lsof -ti:8022 | xargs kill -9

このトンネルを設定できない理由が分かる人はいますか? Windows に統合された bash があるので、もう cygwin を使いたいだけです。

管理者モードでbashを起動しています。

答え1

他の誰かがこれを見つけた場合、回避策があります...次のように特定のバインド アドレスでトンネルを再フォーマットするだけです。

ssh -L 127.0.0.1:8022:173.22.0.1:22 [email protected]

他の回答にリンクされているバグリストを読むと、問題は IPv6 サブシステムにあるように見えるので、IPv4 を強制することでこれが機能すると推測します。

いずれにしても、2017 年 1 月 20 日現在、完全に更新された Win 10 バージョン 1607 インストールを使用している私にとってはうまく機能します。

答え2

これは既知のバグであり、ここで追跡されていますhttps://github.com/Microsoft/BashOnWindows/issues/739

代わりに、次のようなものを試すこともできますhttp://sshwindows.sourceforge.net/

関連情報