我家里的两台不同计算机上有两台虚拟机。在其中一台虚拟机上(我们称之为 comp1;comp1 有一台装有 Ubuntu 虚拟机的 Windows 10 主机),我已经设置了虚拟机的网络,以便我可以从主机 ssh 连接到虚拟机。我按照此网站上的说明进行设置(https://medium.com/nycdev/how-to-ssh-from-a-host-to-a-guest-vm-on-your-local-machine-6cb4c91acc2e)。
当我尝试通过 ssh 连接到 comp1 的 Ubuntu 虚拟机时,收到以下消息:
ssh: connect to host 127.0.0.1 port 5679: Connection refused
请告诉我是否需要在 comp2 的 VM 上进行更多设置才能使两者连接起来。
答案1
您遵循的说明是技术上准确,但它们也比大多数非企业环境中所需的更复杂。您无需设置端口转发或虚拟网络设备即可实现此功能。
在 VirtualBox 中执行以下操作:
- 消除虚拟机的端口转发规则
- 断开虚拟网络接口与虚拟机的连接
- 将网络设置为“桥接”模式,选择主网络适配器作为桥接器,然后在“高级”下确保混杂模式为“全部允许”
现在以下事情都是可能的:
- VM 可以从网络上的 DHCP 主机接收 IP 地址(或者您可以在 VM 本身内配置静态 IP)
ufw
虚拟机可以接收所有发往它的流量,并通过规则等选择要响应的内容
在虚拟机中:
- 确认 OpenSSH 已设置
ufw
:
如果您看到一条消息说该端口sudo ufw status
ufw
已禁用,则请保留它。如果已启用,您需要确认ALLOW
端口 22 旁边有一条记录。 - 确认虚拟机的IP地址:
您将看到有关所有网络接口的信息。您需要与您的网络模式匹配的 IP 地址,例如ip a
192.168.0.x
。 - 在另一台计算机上,通过 SSH 进入虚拟机:
确保用正确的名称替换用户名,并用正确的地址替换 IP 地址。ssh [email protected]
如果一切顺利,请对另一台虚拟机执行相同的步骤。