如何从远程 linux 服务器通过 ssh 连接到在 win10 主机上运行的 ubuntu 来宾?

hel*_*ndy 10 networking ssh virtualbox virtualization

精简版

如果我从 Windows 10 主机运行 Ubuntu 来宾 VirtualBox VM,我需要采取哪些步骤才能ssh从远程 linux 服务器进入 Ubuntu 来宾 VM?


_______________________
[                     ]
[ Windows 10          ]
[ ___________________ ]            ____________________
[ [                  ]]            [                   ]
[ [ Ubuntu VM (guest) <----HOW?---- SUSE remote server ]
[ [__________________]]            [___________________]
[_____________________]
Run Code Online (Sandbox Code Playgroud)

长版

我很困惑,因为如果我不使用 Ubuntu 来宾 VM,而是使用真正的 Ubuntu 机器,我可以只cat /etc/hosts找到本地的 IP 地址,然后从远程找到 IP 地址:

user@remote --ssh--> user@<local IP>
Run Code Online (Sandbox Code Playgroud)

我已经设置了 ssh 密钥,以便我可以从 Ubuntu 来宾 ssh 进入 SUSE 远程服务器(即来宾~/.ssh/id_rsa.pub已经存储在远程服务器中~/.ssh/authorized_keys)。即我已经可以:

ssh -Y user@remote
Run Code Online (Sandbox Code Playgroud)

没有困难,但我不能反过来做,因为我不知道我的客人的 IP 地址是什么。我已经尝试ssh使用 Ubuntu GUI 中“连接信息”中的 IP 地址。

还要明确:

  • 来宾 VM 是Ubuntu 12.04 LTS(64 位)

  • VirtualBox 设置主要是:默认

  • 启用网络适配器:NAT(有线连接,无端口转发)

我还没有设置 ssh 服务器,但我不确定是否有必要(?),这是我目前的理解。

因此,鉴于我正在从 Windows 10 主机运行 Ubuntu 来宾 VirtualBox VM,我需要采取哪些步骤才能ssh从远程 linux 服务器进入 Ubuntu 来宾 VM?

Tho*_*ard 14

当您在路由器后面时,这通常称为“双 NAT”情况。你必须从边界路由器转发到Windows系统,然后在VBox中转发到VM。您可能还需要将端口 22 从实际网络连接转发到 VBox NAT 适配器,但对于 Windows,我对此不太清楚。

不过,最终,您在这里最多需要做三件事。它们都在 Windows 中,或者不在 Ubuntu Linux 中,因此您的大部分答案将针对超级用户或其他地方。

  1. (如果您在网络上的路由器后面安装了 Win10)在网络上的路由器上设置端口转发以将端口 22 转发到您的 Windows 10 系统。

  2. 将 Windows 防火墙设置为允许端口 22 上的入站连接。 您可能还需要在 VM 网络设置中指定要将端口 22 从入站网络适配器转发到 NAT 网络。

  3. 在 VirtualBox 的 NAT 网络上设置 NAT 转发规则,将主机上的 22 端口转发到 VM 上的 22 端口

一种稍微好一点的方法,可以绕过这里的第 2 步和第 3 步,在 VM 网络设置中使用桥接模式;然后,这将从与 Windows 10 系统连接到的同一网络中获取 IP,然后您可以将边缘路由器上的端口 22(步骤 #1)转发到网络分配给 VM 本身的 IP。这比必须进行多次跃点和配置才能使端口 22 正常工作要少一些痛苦。

注意:某些 ISP 会过滤端口 22,因此端口 22 流量不会到达系统;如果是这种情况,您可能必须设置比端口 22 更高的端口(例如 2022 或其他非标准端口 >1024)。


至于查找来宾的 IP,该信息将在 Linux 来宾的输出中ifconfig -aip -4 addr list在 Linux 来宾中。这是所有这些中最简单的部分,因为这将是相同的,桥接或 NAT。


Yar*_*ron 3

你需要port forwarding设置Windows 10 VM player

您需要在 Windows 10 计算机上设置外部端口,该端口将转发service port到.virtual machineNAT network

此链接解释了如何操作