技术求助:Windows10主机VirtualBox中Ubuntu16.04 Server无登录仅SSH运维配置
我刚好折腾过类似的场景,给你一套亲测可行的配置方案,一步步来就行:
一、先搞定Ubuntu Server的无登录提示配置
核心是让系统启动后不弹出登录提示符,同时确保SSH服务正常运行:
- 禁用tty终端的登录提示:Ubuntu Server默认会在tty1显示登录界面,我们通过修改systemd服务配置来取消它
- 编辑getty服务的override文件:
sudo systemctl edit getty@tty1.service - 在打开的编辑器中粘贴以下内容(覆盖默认的启动参数):
这里关键是去掉了触发登录提示的逻辑,agetty启动后不会显示[Service] ExecStart= ExecStart=-/sbin/agetty --noclear --keep-baud 115200,38400,9600 tty1 vt220 Type=idlelogin:提示符 - 保存退出后,重启生效:
sudo systemctl restart getty@tty1.service
- 编辑getty服务的override文件:
- 确保SSH服务开机自启:这是远程运维的基础
- 检查SSH服务状态:
sudo systemctl status ssh - 如果未启用,设置开机自启并立即启动:
sudo systemctl enable --now ssh
- 检查SSH服务状态:
二、VirtualBox端的配置(告别自带控制台)
主要实现虚拟机后台启动,完全无需打开VirtualBox GUI:
- 后台启动虚拟机:用命令行启动,彻底绕开GUI控制台
- 打开Windows的CMD或PowerShell,切换到VirtualBox安装目录(默认路径:
cd "C:\Program Files\Oracle\VirtualBox") - 执行启动命令:
VBoxManage startvm "你的虚拟机名称" --type headless - (可选)设置Windows开机自动启动虚拟机:创建一个快捷方式,把上述命令作为目标,然后将快捷方式放到
C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录下
- 打开Windows的CMD或PowerShell,切换到VirtualBox安装目录(默认路径:
- 网络配置(确保SSH能连通):两种常用方案二选一
- 桥接模式:打开VirtualBox GUI(仅需一次配置),进入虚拟机「设置」→「网络」→「网卡1」,选择「桥接适配器」,再选中主机当前使用的网卡(WiFi/以太网)。虚拟机将和主机处于同一网段,直接用虚拟机IP即可SSH连接
- NAT端口转发:虚拟机网络选「NAT」,点击「端口转发」,添加规则:主机端口设为
2222,子系统端口设为22,协议选TCP。之后用ssh 用户名@localhost -p 2222就能连接虚拟机
三、验证配置
执行VBoxManage startvm "你的虚拟机名称" --type headless启动虚拟机,等待30秒左右,用Windows自带的PowerShell或PuTTY等SSH工具连接虚拟机,确认能正常登录即可。如果想检查终端状态,偶尔打开VirtualBox控制台会看到:只有系统启动日志,没有任何登录提示符。
内容的提问来源于stack exchange,提问作者Jonathan
相关产品推荐
相关产品推荐

