通过本机 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/

相关内容