web-dev-qa-db-ja.com

ネイティブ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を起動しています。

7
WoIIe

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

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

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

どちらにしても私にとってはうまくいき、2017年1月20日の時点で完全に更新されたWin 10バージョン1607インストールを使用しています。

11
dnszero

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

別の方法として、 http://sshwindows.sourceforge.net/ のようなものを使用してみることができます

3
Tadas Šubonis