我想跑Visual Studio 代码服务器(代码服务器)在 Windows 11(主机)下的 Arch Linux VM(Virtualbox)上。它运行良好,我可以连接到 Arch 上的地址。但我的主要目标是使用权它在 Windows 端,所以它code-server
存在于 Arch 上,但我从 Windows 访问它。
经过一番搜索,我找到了一些文章来解释转发端口在 Virtualbox 中。我按照他们进行设置。这是我在 Virtualbox 中的网络配置:
在 Arch 上,我code-server
使用--bind-address
参数将其指向:2704
运行。它再次运行,正如预期的那样。我能够从 Arch 访问它,但不能在 Windows 上访问。访问了127.0.0.1:7207
,但显示错误ERR_CONNECTION_RESET
或类似内容。我检查了防火墙,Virtualbox 和浏览器在公共和专用网络下被允许访问。
谢谢。如果您需要更多信息,请告诉我。
答案1
好的,我设法使用“桥接适配器”(感谢@John 的建议!)并2704
使用 SSH 将端口转发到我的本地。
在虚拟机配置中将网络适配器更改为“桥接适配器”
启动
code-server
(也可以绑定到另一个端口)使用
ip addr
命令获取虚拟机的 IP 地址在主机上打开终端/Windows 终端,并发出:
ssh -N -L CodeServerPort:127.0.0.1:AnyPortYouWantToUse user@VM-IP
例如,对我来说:
ssh -N -L 2704:127.0.0.1:2704 [email protected]
因此,它的作用是使用 SSH 将 VM 的 2704 端口转发到 127.0.0.1:2704(端口 2704 上的本地主机)。
然后您就可以通过浏览器访问它127.0.0.1:2704
。
参考:https://coder.com/docs/code-server/latest/guide#port-forwarding-via-ssh
如果我在这里犯了任何错误,请纠正我,以便新手不会感到困惑:)