也许有更好的方法可以做到这一点,但我正尝试从主机的 Chrome 浏览器访问在 VM(VMware Player 16)中运行的 Web 应用程序。
- 主机是Windows 10,虚拟机是Ubuntu。
- 我有一个在 Ubuntu VM 中运行的 Web 应用程序
192.168.39.113:80
(minikube
VM 内部kvm2
)。 - VM 正在使用桥接连接,其 IP 为
10.0.0.205
。 - 我使用 在 Ubuntu VM 上安装了 SSH
sudo apt install openssh-server
。 - 我现在可以通过 SSH 从主机进入虚拟机。
- 我正在尝试使用 创建一个隧道,但是当我转到 时仍然无法从主机的浏览器连接到 Web 应用程序。
ssh -L 8080:192.168.39.113:80 [email protected]
10.0.0.205:8080
- 我确实启用了,
AllowTcpForwarding yes
然后sudo service sshd restart
,但当我转到时仍然无法从主机浏览器连接到 Web 应用程序10.0.0.205:8080
。
关于如何解决这个问题有什么建议?
答案1
您在命令中遗漏了本地 IP 地址,这意味着要么在本地浏览器中使用“127.0.0.1:8080”或“localhost:8080”……或者,在 SSH 命令中添加您想要使用的本地 IP。
我zim
在我的一台 Virtualbox VM 上进行了测试并启动了它的 Web 浏览器。
如果我想使用任何其他“本地主机” ip 类似127.10.10.1在我的浏览器中,我必须特别指定它:ssh -L 127.10.10.1:5151:192.168.100.100:6968 [email protected]
这可以使用远程 ssh 服务器或本地 ssh 服务器来实现([电子邮件保护])而且我不需要更改 sshd_config,因为 AllowTcpForwarding 默认设置为是。
唯一真正的阻止程序是尝试在浏览器中使用特定的 IP 地址,而不在 ssh -L 命令中指定 IP 地址。