我正在嘗試在我的 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/