如何从 MacOS 通过 SSH 进入 CentOS 7/8 VirtualBox VM
我在 Mac 上的 Oracle VirtualBox 上安装了来自 osboxes.org 的 CentOS 7 VM。我需要能够从 Mac 通过 ssh 进入 VM。我曾尝试在网上搜索,但无法找到有关此设置的信息 - 可以找到一些 youtube 视频,但它们谈论的是 Windows。
有些文章讨论定义桥接适配器、一些 NAT 或仅主机或这些的一些组合,但它们之间没有一致性。
在哪里可以找到详细的设置信息,以便我从 Mac 通过 ssh 进入虚拟机。我想创建虚拟机来学习 Ansible 和 Confluent 任务。
谢谢
答案1
您可以使用桥接接口或 NAT。
使用桥接,CentOS 的虚拟 NIC 将像连接到您的真实网络和交换机一样。它将从与您的 macOS 主机相同的 IP 范围中获取 IP,并且可以从 mac 主机或 LAN 上的任何其他设备完全访问。在 VM 网络设置中,您将选择连接到桥接的虚拟适配器,并选择主机上的物理适配器(通常会有一个列表可用)。如果您在 LAN 上使用 DHCP,则还应在 VM 上设置 dhcp。如果是静态的,也应在 VM 上更改为静态。然后在主机上输入:
ssh [CentOS_user]@[CentOS_VM_IP]
在 VBox 的最新版本中,可以使用主机上的无线接口进行桥接,但是有点受限。使用 ssh 连接到 VM 应该没有问题。
使用 NAT,您的虚拟机将处于一个单独的网络中,无法从您的 MacOS 主机或 LAN 上的其他设备立即访问。您需要将虚拟机的端口 22(由 ssh 使用)转发到 macOS 主机上的端口,例如 2222。在虚拟机网络设置中,您将选择连接到 NAT 的虚拟适配器,然后单击port forwarding
下面的按钮。在新窗口中,您将客户机的端口 22 转发到本地主机(127.0.0.1)的端口 2222 或任何可用的高端口。在虚拟机内部,网络设置必须是 DHCP。之后您只需输入:
ssh -p 2222 [CentOS_user]@localhost
即可连接。
您可以按照 Windows 或 Linux 文章操作,无论在哪个平台上,Virtualbox 上的界面几乎相同。记住我上面提到的原则,它们将帮助您理解指南。
我附上了一份关于 VBox 网络的非常全面的指南。它适用于 Windows 主机,您可能拥有较新版本的 VBox,但其原则仍然适用。Virtualbox 综合网络指南