获取虚拟机后面的 ubuntu 服务器的 SSH 访问权限

获取虚拟机后面的 ubuntu 服务器的 SSH 访问权限

我有一个运行 Windows 2008 服务器的设置,它托管多个具有自己 IP 地址的虚拟机。以前,我使用 nginx 将网站的 http 请求代理到正确的虚拟机,这没有问题。不幸的是,我必须通过远程桌面进入 Windows 机器并使用 putty,然后才能访问我感兴趣的 ubuntu VM。

我想找到一种方法,直接从远程计算机通过 ssh 进入我的 ubuntu VM(无需通过 RDP 进入主机)。我在 Windows Server 防火墙中创建了一条流量控制规则,允许端口 22236 上的入站流量,我想将此端口用于 ssh。此端口上请求的流量应转发到 VM 的 IP 和端口 22。

有没有办法在 Windows 2008 Server 中实现这一点?我尝试过寻找使用 nginx 实现此目的的方法,但它似乎专用于 http 流量。

答案1

解决方案: 您必须将 VirtualBox 适配器连接到 Bridged 并分配一个应位于您的 LAN 下的 IP。这些可以在相应虚拟盒的网络设置中完成。只有这样,您才能从外部机器访问 VirtualBox。

笔记:

让我们了解一些有关在网络中连接虚拟盒 NIC 的知识。这里有四种情况。

  • 网络地址转换 (NAT)
  • 桥接网络
  • 内部网络
  • 仅主机网络

网络地址转换 (NAT): 在 NAT 中,虚拟盒将从主机 (DHCP) 获取 IP 地址。此时虚拟盒似乎与主机处于不同的网络中。外界无法访问虚拟盒。默认情况下,新的虚拟盒将连接到 NAT。

桥接网络: 在这里,虚拟盒将作为 LAN 中的独立机器,充当主机。主机和虚拟机将位于同一网络中。因此,外界可以访问主机。您应该将网络适配器连接到 Bridged,以便从 LAN 中的另一个系统通过 ssh 连接到您的虚拟盒。

内部网络: 在这里,如果您在主机中有多个虚拟机,并且所有虚拟机都连接到内部,那么它们将像在与主机不同的网络中,并且它们之间的整个通信都保留在主机内,并且
通信仅对该网络上的虚拟机可见。

仅主机网络: 仅主机网络与内部网络类似,您可以指定访客所在的网络。例如,如果两个虚拟机位于名为“Network1”的网络下,它们可以像内部网络一样相互通信,此外主机也可以看到它们。但是,其他外部机器无法看到此网络上的访客,因此得名“仅主机”。

参考: https://blogs.oracle.com/fatbloke/entry/networking_in_virtualbox1

祝你好运,兄弟 :)

相关内容