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 中,因此您的大部分答案将针对超级用户或其他地方。
(如果您在网络上的路由器后面安装了 Win10)在网络上的路由器上设置端口转发以将端口 22 转发到您的 Windows 10 系统。
将 Windows 防火墙设置为允许端口 22 上的入站连接。 您可能还需要在 VM 网络设置中指定要将端口 22 从入站网络适配器转发到 NAT 网络。
在 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 -a
或ip -4 addr list
在 Linux 来宾中。这是所有这些中最简单的部分,因为这将是相同的,桥接或 NAT。
你需要port forwarding
设置Windows 10 VM player
您需要在 Windows 10 计算机上设置外部端口,该端口将转发service port
到.virtual machine
NAT network
归档时间: |
|
查看次数: |
1828 次 |
最近记录: |