
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/