透過本機 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

有人知道為什麼我無法設置這條隧道?我只想再使用 cygwin,因為我現在在 Windows 中整合了 bash。

我正在以管理模式啟動 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/

相關內容