一、整体原理
- SSH :安全加密远程登录协议,默认端口 22,实现 Windows 主机远程操控 Linux 虚拟机终端。
- SFTP/WinSCP :基于 SSH 协议的图形化文件传输工具,实现Windows 与 Linux 虚拟机双向自由文件拖拽互传。
- 网络核心:虚拟机与 Windows 主机必须网络互通,本次全程解决了桥接模式路由环路问题,最终采用仅主机 (Host-Only) 网络实现最稳定互联。
二、前期 Linux 虚拟机端完整配置(必做全步骤)
步骤 1:安装并开启 SSH 服务端
# 更新软件源
sudo apt update
# 安装OpenSSH服务端
sudo apt install openssh-server -y
# 设置SSH服务 永久开机自启 + 立即启动服务
sudo systemctl enable --now ssh
# 验证服务运行状态
sudo systemctl status ssh
✅ 成功判定 :终端显示 Active: active (running),代表 SSH 服务正常后台运行、22 端口正常监听。
步骤 2:Linux 防火墙放行 SSH 端口(避坑重点)
Ubuntu 默认防火墙会拦截外部 SSH 连接,执行命令放行 22 端口:
# 放行SSH服务(22端口)
sudo ufw allow ssh
# 开启防火墙
sudo ufw enable
# 查看防火墙放行规则
sudo ufw status
✅ 成功判定 :输出列表存在 22/tcp ALLOW Anywhere。
步骤 3:查询虚拟机本机 IP
ip a
根据虚拟机网络模式,会对应不同网段 IP:
- 旧 NAT 模式:
10.0.2.15(主机无法直连,天生连接超时) - 桥接模式:
192.168.12.196(无线网卡兼容性差,出现路由环路、TTL 传输过期,网络不通) - 最终仅主机模式:
192.168.56.101(完美稳定连通,无任何网络问题)
三、网络模式踩坑全复盘(重点避坑笔记)
1. 三种网络模式对比 & 问题总结
| 网络模式 | 连通特性 | 本次遇到的问题 | 适用场景 |
|---|---|---|---|
| NAT 模式 | 仅虚拟机单向访问 Windows / 外网 ,Windows 主机无法主动直连虚拟机 | 直接连接 IP 10.0.2.15 必然超时,无法 SSH |
虚拟机单独上网,不做主机互联 |
| 桥接网卡 | 虚拟机接入电脑局域网,本该双向互通;宏碁笔记本 Intel AX201 无线网卡存在驱动兼容性 BUG | 配置后出现路由环路 ,ping返回TTL传输中过期,主机数据包无法抵达虚拟机,连接全部失败 |
虚拟机需要独立外网 + 局域网互联 |
| 仅主机 (Host-Only) 适配器 | VirtualBox 专属本地互联网络,仅打通 Windows 主机 ↔ 虚拟机双向直连,无外网、无路由冲突、无防火墙拦截、零兼容性 BUG | 无任何连通问题,一次配置永久稳定 | 本次最终方案:SSH 远程控制、WinSCP 文件传输专用 |
2. 本次问题根源总结
- 初始 NAT 网络:单向网络,主机无法主动访问虚拟机内网 IP。
- 桥接网络修改后:笔记本无线网卡驱动导致路由环路 ,ping 测试
TTL传输过期,网络层完全不通,上层 SSH/SFTP 全部连接失败。 - 最终最优解:切换仅主机模式,彻底绕开所有网络兼容问题,天生稳定互联。
四、WinSCP 最终完整连接参数(永久可用)
打开 WinSCP 登录界面,严格填写参数:
| 界面选项 | 填写内容 |
|---|---|
| 文件协议 (F) | SFTP |
| 主机名 (H) | (仅主机模式虚拟机 IP) |
| 端口号 (R) | 22(SSH 默认端口) |
| 用户名 (U) | wang(Ubuntu 系统登录用户名) |
| 密码 (P) | Ubuntu 系统用户登录密码(sudo 操作密码) |
填写完成点击登录,即可成功连接。
登录成功后操作
界面分为左右双窗口:
- 左侧:Windows 电脑本地文件
- 右侧:Linux 虚拟机内部文件 直接鼠标拖拽,即可实现 Windows ↔ Linux 双向文件互传,操作同本地文件夹复制粘贴。
五、全套命令速查手册(直接复制备用)
1. Linux 虚拟机端全部命令
# 安装SSH服务
sudo apt update
sudo apt install openssh-server -y
# SSH服务开机自启+立即启动
sudo systemctl enable --now ssh
# 查看SSH服务状态
sudo systemctl status ssh
# 防火墙放行SSH 22端口
sudo ufw allow ssh
sudo ufw enable
sudo ufw status
# 重启SSH服务(配置修改后必执行)
sudo systemctl restart ssh
# 查看虚拟机本机IP
ip a
-
Windows 主机端连通测试 + SSH 登录命令
1. 测试主机与虚拟机网络连通性
ping 192.168.56.101
2. 测试SSH 22端口连通性
Test-NetConnection 192.168.56.101 -Port 22
3. PowerShell直接SSH远程登录虚拟机
六、最终极简流程速记(笔记摘要版)
- Linux 虚拟机安装 SSH 服务,设置开机自启,防火墙放行 22 端口。
- 虚拟机网络改为仅主机 (Host-Only) 适配器 ,开机查询新 IP
192.168.56.101。 - WinSCP 填入 SFTP 完整参数,账号
wang,直接登录。 - 左右窗口鼠标拖拽,完成跨系统文件双向传输。