VirtualBox 是一款免费虚机软件。在用户使用它安装了 linux 以后,它默认只提供了控制台的管理画面。
直接使用控制台管理 Linux 没有使用诸如 putty 或者 vscode 这样的 ssh 远程管理工具方便。那么可不可以直接使用 ssh 访问 VirtualBox 上的 Linux 呢?
我们可以先检查我们的 VirtualBox。下面的举例使用的是 Debian 11 的虚机,您可以根据您的 Linux 版本做命令的调整。
输入以下命令
ip address
你可能会看到类似于下面的输出结果:
这里的第一个地址 127.0.0.1 是一个不能被外部访问的。第2个地址 10.0.2.15 是 VirtualBox 默认网卡给出的网址。如果我们使用 ssh 去访问这个地址是连接不上的。
这是因为 VirtualBox 默认给我们的网卡设置的是 NAT 方式。
我们可以通过检查虚机的配置 (settings) 看到这点。
我们把上面的配置改为 bridge adapter 其他不变。如下图所示:
然后重新启动虚机。比如在 Debian 系统里输入以下命令:
shutdown -r now
然后重新检查虚机的 IP
ip address
可以类似于下面的画面
可以看到 IP 地址已经改变了。这个时候再尝试连接第2个网卡的地址,在上例中是 192.168.1.5 应该就可以连接上了。
VitualBox 默认的网卡是 NAT 模式。从外部无法连接到虚机,通过把网卡模式改为 Bridge Adapter 就可以通过 ssh 连接到虚机了。