SSH 隧道与端口转发到本地虚拟机

SSH 隧道与端口转发到本地虚拟机

我有一个虚拟的 virtualbox VM guest,我在其中运行 python Web 服务器只是为了了解网络

> python -m SimpleHTTPServer 4566

现在我想从我的主机连接到它

我试图理解为什么如果我做一个 ssh 隧道

> ssh -L 4566:127.0.0.1:4566 root@localhost

然后从我运行的主机上curl -v http://localhost:4566得到正确的响应(对我来说有意义),但是如果我终止隧道,然后在 virtualbox 中配置端口转发,将主机中的端口 4566 转发到来宾中的端口 4566,并尝试从主机现在无法建立连接

在这种情况下,端口转发与 ssh 隧道有何不同?

我以为这是因为我的网络服务器绑定到地址 127.0.0.1 但实际上它绑定到 0.0.0.0

> netstat -ln | grep 4566
tcp        0      0 0.0.0.0:4566            0.0.0.0:*               LISTEN

答案1

我没想到给定的 ssh-tunnel 和curl 会实际连接到虚拟机中的服务器。

也许您不小心让 SimpleHTTPServer 在主机上运行,​​而不是(或另外)在虚拟机上运行?

相关内容