Virtualbox- 在 Headless 模式下 运行 时无法访问 VM
Virtualbox- Cant access to VM when running in Headless mode
我在 virtualbox
上安装了带有 openssh server
的 ubuntu server
,它工作正常。当我从 GUI 启动它时,我可以通过 ssh 和 Putty 访问它,没有问题。当我从 virtualbox gui 以无头模式启动它时,也没有问题。
问题是,当我 运行 它使用 VBoxManage startvm "Ubuntu" --type headless
它 returns 一条消息说 Ubuntu
在无头模式下 运行ning 但是当我想通过 ssh 连接到它时,它无法访问。我的 host os 是 windows 10,ubuntu 服务器名称是 "Ubuntu",os 版本是 ubuntu-16.04.2-server-x64
,我按照此处所述安装了 openssh-server
和 dkms
:https://www.htpcbeginner.com/install-virtualbox-guest-additions-on-ubuntu-debian/
当我在 GUI 中工作时,一切都很好,但我想从 windows 命令行 运行 它以节省一些时间。
看起来命令行 vm "Ubuntu"
与 GUI vm "Ubuntu"
不同。但是我在 virtualbox 上只有一个虚拟机。在 gui 中有一个,在 cmd vboxmanage list vms
returns 中有一个 vm。那么问题是什么?
我还在 virtualbox GUI
的 Device 菜单中添加了 virtualbox guest addition
编辑:
我看到另一个命令:VBoxHeadless --startvm "Ubuntu"
它也不起作用。但与上一个命令不同的是,它不显示 Ubuntu 是 运行 的消息。实际上它会卡在执行中并且光标永远变成闪烁的破折号。所以我应该 close 命令来使用它。
我检查了一些东西。如果我在网络适配器和端口转发上使用 NAT,它甚至可以从 cmd 运行。但是当使用网桥避免使用端口转发时,它不起作用。在桥接模式下,存在连接并且 ping 正常但无法通过 ssh 连接到 Ubuntu.
我找到了解决方案。解决方案是我应该默认将 NAT 接口保持为主要接口,并在 virtualbox gui 设置中创建辅助接口。辅助接口应该是 Host-only。然后通过使用 this 问题及其答案,我将访客 Ubuntu 的接口添加到静态地址。现在我可以通过 ssh 连接到静态 IP 地址,即使我从命令行 运行 虚拟机,也不需要端口转发。
我在 virtualbox
上安装了带有 openssh server
的 ubuntu server
,它工作正常。当我从 GUI 启动它时,我可以通过 ssh 和 Putty 访问它,没有问题。当我从 virtualbox gui 以无头模式启动它时,也没有问题。
问题是,当我 运行 它使用 VBoxManage startvm "Ubuntu" --type headless
它 returns 一条消息说 Ubuntu
在无头模式下 运行ning 但是当我想通过 ssh 连接到它时,它无法访问。我的 host os 是 windows 10,ubuntu 服务器名称是 "Ubuntu",os 版本是 ubuntu-16.04.2-server-x64
,我按照此处所述安装了 openssh-server
和 dkms
:https://www.htpcbeginner.com/install-virtualbox-guest-additions-on-ubuntu-debian/
当我在 GUI 中工作时,一切都很好,但我想从 windows 命令行 运行 它以节省一些时间。
看起来命令行 vm "Ubuntu"
与 GUI vm "Ubuntu"
不同。但是我在 virtualbox 上只有一个虚拟机。在 gui 中有一个,在 cmd vboxmanage list vms
returns 中有一个 vm。那么问题是什么?
我还在 virtualbox GUI
编辑:
我看到另一个命令:VBoxHeadless --startvm "Ubuntu"
它也不起作用。但与上一个命令不同的是,它不显示 Ubuntu 是 运行 的消息。实际上它会卡在执行中并且光标永远变成闪烁的破折号。所以我应该 close 命令来使用它。
我检查了一些东西。如果我在网络适配器和端口转发上使用 NAT,它甚至可以从 cmd 运行。但是当使用网桥避免使用端口转发时,它不起作用。在桥接模式下,存在连接并且 ping 正常但无法通过 ssh 连接到 Ubuntu.
我找到了解决方案。解决方案是我应该默认将 NAT 接口保持为主要接口,并在 virtualbox gui 设置中创建辅助接口。辅助接口应该是 Host-only。然后通过使用 this 问题及其答案,我将访客 Ubuntu 的接口添加到静态地址。现在我可以通过 ssh 连接到静态 IP 地址,即使我从命令行 运行 虚拟机,也不需要端口转发。