在Windows主机上连接Linux虚拟机是开发、运维和日常学习中常见的需求,无论是通过命令行进行远程管理,还是实现文件共享,都需要正确的配置步骤,本文将详细说明从虚拟机软件选择到网络配置、服务搭建及连接方式的全流程,帮助用户顺利实现Windows与Linux虚拟机的互通。
选择虚拟机软件并创建Linux虚拟机
首先需要选择合适的虚拟机软件,主流选择包括VMware Workstation Pro、VirtualBox(免费)或Hyper-V(Windows专业版及以上自带),以VirtualBox为例,其免费开源且功能完善,适合大多数用户,创建虚拟机时,需注意以下几点:
- 下载Linux镜像:从官网获取发行版ISO文件(如Ubuntu Desktop 22.04 LTS、CentOS 7等)。
- 新建虚拟机:打开VirtualBox,点击“新建”,名称自定义(如“Ubuntu-VM”),类型选择“Linux”,版本根据镜像选择(如Ubuntu 64-bit)。
- 分配硬件资源:建议至少分配2GB内存、25GB硬盘空间,处理器根据主机性能选择2核以上。
- 网络配置:在网络设置中,默认为“NAT模式”,适合初学者;若需虚拟机与主机局域网其他设备互通,可选择“桥接模式”。
配置Linux虚拟机网络
网络是连接的基础,需确保虚拟机与主机能够通信,以下是不同网络模式的配置要点:
NAT模式(默认)
NAT模式下,虚拟机通过主机的网络地址转换(NAT)访问外部网络,主机与虚拟机可通过虚拟网卡(如VirtualBox的“VirtualBox Host-Only Network”)通信。
- 获取IP地址:虚拟机启动后,Linux系统通常会通过DHCP自动获取IP(如
168.56.101
),可通过命令ip addr
或ifconfig
查看。 - 端口转发(可选):若需从主机访问虚拟机的特定服务(如Web服务),可在VirtualBox的“虚拟机设置-网络-高级-端口转发”中添加规则(如主机端口8080映射到虚拟机端口80)。
桥接模式
桥接模式将虚拟网卡与主机物理网卡桥接,虚拟机相当于局域网中的一台独立设备,可获取与主机同网段的IP。
- 配置步骤:在虚拟机网络设置中选择“桥接网卡”,桥接至主机正在使用的物理网卡(如“WLAN”或“以太网”),Linux系统中,确保网络接口(如
ens33
)通过DHCP或静态IP配置。
仅主机模式(Host-Only)
仅主机模式创建隔离的局域网,仅允许主机与虚拟机通信,无法访问外部网络,适合测试环境,可通过VirtualBox的“主机网络管理器”配置虚拟子网(如168.100.0/24
)。
不同网络模式对比:
| 模式 | 原理 | 适用场景 | 优点 | 缺点 |
|————–|——————————-|—————————|———————–|———————–|
| NAT | 主机代理虚拟机访问外网 | 初学者、临时测试 | 配置简单,无需额外设置 | 虚拟机IP不固定,外部无法直接访问 |
| 桥接 | 虚拟机与主机同网段 | 局域网服务、需外部访问 | 虚拟机独立IP,可被局域网其他设备访问 | 需路由器分配IP,可能冲突 |
| 仅主机 | 主机与虚拟机隔离通信 | 安全测试、开发环境 | 隔离性强,无外网风险 | 无法访问互联网 |
配置Linux虚拟机远程服务
SSH服务配置(命令行连接)
SSH(Secure Shell)是远程管理Linux的首选工具,支持加密传输和端口转发。
- 安装SSH服务(以Ubuntu为例):
sudo apt update sudo apt install openssh-server
(CentOS系统:
sudo yum install openssh-server
) - 启动并设置开机自启:
sudo systemctl start sshd sudo systemctl enable sshd
- 检查服务状态:
sudo systemctl status sshd
,确保显示“active (running)”。 - 防火墙配置:允许SSH端口(默认22)通过防火墙:
sudo ufw allow 22
图形界面连接(可选)
若需Linux图形界面,可通过以下方式:
- VirtualBox自带增强功能:安装VirtualBox Guest Additions,支持分辨率自适应、剪贴板共享、拖拽文件等,安装步骤:虚拟机菜单“设备-安装增强功能”,然后在Linux中挂载光盘并运行脚本。
- RDP协议:安装xrdp服务(Ubuntu:
sudo apt install xrdp
),Windows使用“远程桌面连接”输入虚拟机IP即可。
Windows主机连接Linux虚拟机
SSH命令行连接
- Windows自带工具:打开PowerShell或CMD,输入
ssh username@虚拟机IP
(如ssh ubuntu@192.168.56.101
),首次连接需确认密钥(输入yes
),然后输入Linux用户密码。 - 第三方工具:推荐使用PuTTY(图形化界面)或Xshell(支持多标签、文件传输),下载后输入虚拟机IP和端口(22),用户名密码即可连接。
文件共享
- Samba服务(适合局域网文件共享):
在Linux中安装Samba:sudo apt install samba
,创建共享目录并设置权限:sudo mkdir /home/share sudo chmod 777 /home/share
编辑Samba配置文件
/etc/samba/smb.conf
,添加:[share] path = /home/share available = yes valid users = username writable = yes
重启Samba服务:
sudo systemctl restart smbd
,Windows文件管理器地址栏输入\虚拟机IPshare
,输入Linux用户名和密码即可访问。 - SCP/SFTP文件传输:使用Xshell、WinSCP等工具,通过SSH协议传输文件,支持拖拽和批量上传下载。
网络共享文件夹(VirtualBox专属)
安装VirtualBox增强功能后,可在虚拟机菜单“设备-共享文件夹”中添加主机目录,Linux中通过/mnt/sf/share_name
访问(需创建挂载点:sudo mkdir /mnt/sf/share_name
)。
常见问题排查
- 无法SSH连接:检查Linux防火墙(
sudo ufw status
)、SSH服务状态(sudo systemctl status sshd
)、虚拟机网络模式及IP是否正确。 - 文件共享失败:确认Samba服务运行状态(
sudo systemctl status smbd
),共享目录权限是否开放,Windows是否关闭了“密码保护共享”(控制面板-网络和共享中心)。
FAQs
Q1:为什么SSH连接提示“Connection refused”?
A:通常是因为Linux未安装SSH服务或服务未启动,检查方法:在Linux终端运行sudo systemctl status sshd
,若未安装则执行sudo apt install openssh-server
(Ubuntu)或sudo yum install openssh-server
(CentOS),并启动服务sudo systemctl start sshd
,同时确保虚拟机防火墙允许22端口通过(sudo ufw allow 22
)。
Q2:如何实现Windows和Linux虚拟机的双向文件拖拽?
A:安装VirtualBox增强功能后,步骤如下:
- 虚拟机菜单“设备-安装增强功能”,Linux系统会自动挂载光盘;
- 打开Linux终端,进入光盘目录(如
cd /media/cdrom0
),运行sudo ./VBoxLinuxAdditions.run
; - 重启虚拟机,之后可直接在Windows与Linux之间拖拽文件,或通过“设备-共享文件夹”设置固定共享目录。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/26509.html