在cmd中顺利进入虚拟机,核心是确认虚拟机网络可达并开启SSH等远程服务,然后用ssh 用户名@虚拟机IP登录;如果虚拟机还没运行,先用VBoxManage或vmrun把它启动起来。
如何在cmd中顺利进入虚拟机?先分清三种“进入”方式
很多人以为在cmd里敲一条命令就能“钻进”虚拟机桌面,其实不是,cmd本身是命令行环境,它能做的主要有三类事:远程登录虚拟机系统、调用虚拟机软件的命令行工具、启动远程桌面连接,你要先确定目标,再选路径。
- SSH登录:适合Linux虚拟机、Windows Server虚拟机,cmd里直接
ssh user@IP,进入的是命令行,不是图形桌面。 - 虚拟机软件命令行:适合VMware、VirtualBox、Hyper-V,用
vmrun、VBoxManage、Start-VM启动、关机、查IP。 - 远程桌面命令:适合Windows虚拟机,cmd里
mstsc /v:IP,但虚拟机必须开启RDP服务。
行业共识认为,SSH是命令行远程登录Linux虚拟机的标准方式,它稳定、占用低,适合服务器和开发环境。
Windows系统cmd连接虚拟机完整教程:SSH方式最稳
准备工作:查IP、网络模式、开启SSH
先别急着敲ssh,虚拟机网络没配对,IP拿不到,后面全白费。
- 查虚拟机IP,Linux用
ip addr或hostname -I;Windows用ipconfig。 - 确认网络模式,桥接模式像同一台路由器下的设备,主机能直接访问;NAT模式虚拟机能上网,但主机默认进不去,需要端口转发;仅主机模式只有主机能访问。
- 开SSH服务,Ubuntu/Debian执行
sudo apt update && sudo apt install openssh-server;CentOS/RHEL执行sudo systemctl enable --now sshd;Windows在“设置 > 应用 > 可选功能”里添加OpenSSH服务器。 - 放行防火墙,Linux可执行
sudo ufw allow 22/tcp,或sudo firewall-cmd --add-service=ssh --permanent && sudo firewall-cmd --reload
;Windows在高级安全防火墙里新建入站规则,放行TCP 22端口。
据微软官方文档,Windows 10和Windows 11的OpenSSH客户端可通过“可选功能”安装,cmd里直接运行ssh -V就能检查是否可用。
在cmd中登录虚拟机
打开cmd,按下面顺序操作:
- 测试网络:
ping 192.168.1.100,能通不代表SSH一定通,但ping不通基本不用继续。 - 登录SSH:
ssh user@192.168.1.100,首次连接会提示指纹,输入yes。 - 指定端口:
ssh -p 2222 user@127.0.0.1,NAT端口转发常用这种方式。 - 退出登录:
exit。 - 如果用户名和IP反复输错,可先
ssh -v user@IP看详细调试信息。
NAT模式必须做端口转发
VirtualBox在“设置 > 网络 > 高级 > 端口转发”里加规则:主机端口2222,子系统端口22,VMware在“编辑 > 虚拟网络编辑器 > NAT设置”里添加端口转发,没做这一步,主机访问NAT虚拟机的22端口通常会超时。
cmd进入虚拟机和直接打开虚拟机有什么区别
| 对比项 | cmd进入虚拟机 | 直接打开虚拟机 |
|---|---|---|
| 交互方式 | 命令行、脚本、远程 | 图形界面、控制台 |
| 适用场景 | 服务器管理、批量运维、远程开发 | 安装系统、调试桌面、图形软件 |
| 资源占用 | 较低,可无头启动 | 较高,需要显示资源 |
| 网络依赖 | 依赖IP、端口、SSH/RDP | 依赖虚拟机软件窗口 |
| 自动化能力 | 强,可写批处理 | 弱,多数靠手动点击 |
业内专家指出,虚拟机网络模式选错,是cmd连接失败的首要原因,桥接、NAT、仅主机三种模式,直接决定主机能不能摸到虚拟机。
本地电脑cmd怎么远程登录虚拟机?分系统实操

VMware Workstation/Player
- 启动虚拟机:
"C:Program Files (x86)VMwareVMware Workstationvmrun.exe" start "D:VMsUbuntuUbuntu.vmx" nogui - 查看运行列表:
vmrun list - 安全关机:
vmrun stop "D:VMsUbuntuUbuntu.vmx" soft - 获取IP后登录:
ssh user@192.168.1.100
路径里有空格,必须加双引号,否则cmd会把路径拆开,命令直接报错。
VirtualBox
- 列出虚拟机:
"C:Program FilesOracleVirtualBoxVBoxManage.exe" list vms - 无头启动:
VBoxManage startvm "Ubuntu" --type headless - 查IP:
VBoxManage guestproperty get "Ubuntu" "/VirtualBox/GuestInfo/Net/0/V4/IP" - NAT登录:
ssh -p 2222 user@127.0.0.1 - 关机:
VBoxManage controlvm "Ubuntu" acpipowerbutton
Hyper-V
- 启动虚拟机:
powershell -Command "Start-VM -Name 'Ubuntu-VM'" - 查看网络:
powershell -Command "Get-VMNetworkAdapter -VMName 'Ubuntu-VM'" - 再用
ssh user@IP登录。
虚拟机cmd连接失败怎么解决?高频坑位与注意事项
连接超时或拒绝
Connection timed out:多半是IP错、网络模式不对、防火墙拦截。Connection refused:SSH服务没启动,或端口不是22。Permission denied:用户名、密码、密钥错误,或SSH禁止密码登录。Host key verification failed:虚拟机重装或快照回滚后指纹变了,执行ssh-keygen -R 192.168.1.100清掉旧记录。
服务与端口检查
- Linux查监听:
ss -tlnp | grep 22 - 启动SSH:
sudo systemctl start sshd - 设置开机自启:
sudo systemctl enable sshd - Windows查服务:
Get-Service sshd - 测端口:
telnet 192.168.1.100 22,没有telnet可用Test-NetConnection 192.168.1.100 -Port 22
cmd使用细节
- 改虚拟机网络、端口转发时,建议用管理员身份打开cmd。
- 中文乱码可执行
chcp 65001切到UTF-8。 - 复制粘贴用右键或
Ctrl+Shift+V,不同终端快捷键不一样。 - 不要直接关虚拟机窗口,优先用
vmrun stop、VBoxManage controlvm等命令软关机。 - 国内网络环境下,云虚拟机还要检查安全组和地域节点防火墙;本地虚拟机则重点看NAT端口转发和主机防火墙。

免费工具能否完成cmd进入虚拟机?成本与选择
多数情况下,cmd自带OpenSSH就能完成登录,不需要额外付费。 Windows Terminal、PuTTY、MobaXterm免费版也能作为SSH客户端,VirtualBox和Hyper-V基础功能免费,VMware Workstation Player对个人使用也比较友好,企业级批量管理、审计、堡垒机方案通常收费,但普通开发测试不必上重装备。
真正影响体验的不是价格,而是网络配置,把IP、端口、防火墙、SSH服务四件事对齐,cmd进入虚拟机就很顺。
只要网络可达、SSH或RDP服务开启、端口放行,cmd就能稳定进入虚拟机;先查网络模式,再敲登录命令,能避开大多数坑。
关于cmd进入虚拟机的常见问答
cmd进入虚拟机需要虚拟机开启什么服务?
Linux虚拟机通常开启sshd,Windows虚拟机开启OpenSSH Server或RDP,还要确保虚拟机IP可达、防火墙放行对应端口,云主机额外检查安全组。
为什么ping得通却ssh连不上?
ping通只说明ICMP可达,不代表22端口开放,检查sshd是否运行、监听地址是否为0.0.0、防火墙是否放行、NAT端口转发是否生效,以及云安全组是否允许TCP 22,可用Test-NetConnection IP -Port 22验证端口。
在cmd中能进入虚拟机图形桌面吗?
不能直接进入图形界面,cmd可用mstsc /v:IP调用远程桌面,前提是虚拟机开启RDP;也可用VNC客户端,SSH只提供命令行会话,图形桌面需要RDP、VNC或虚拟机软件控制台。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/921983.html


评论列表(1条)
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于虚拟机的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!