【Linux】VirtualBox ↔ Ubuntu+WinSCP 文件传输

一、整体原理

  1. SSH :安全加密远程登录协议,默认端口 22,实现 Windows 主机远程操控 Linux 虚拟机终端。
  2. SFTP/WinSCP :基于 SSH 协议的图形化文件传输工具,实现Windows 与 Linux 虚拟机双向自由文件拖拽互传
  3. 网络核心:虚拟机与 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. 本次问题根源总结

  1. 初始 NAT 网络:单向网络,主机无法主动访问虚拟机内网 IP。
  2. 桥接网络修改后:笔记本无线网卡驱动导致路由环路 ,ping 测试TTL传输过期,网络层完全不通,上层 SSH/SFTP 全部连接失败。
  3. 最终最优解:切换仅主机模式,彻底绕开所有网络兼容问题,天生稳定互联。

四、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
  1. Windows 主机端连通测试 + SSH 登录命令

    1. 测试主机与虚拟机网络连通性

    ping 192.168.56.101

    2. 测试SSH 22端口连通性

    Test-NetConnection 192.168.56.101 -Port 22

    3. PowerShell直接SSH远程登录虚拟机

    ssh wang@192.168.56.101

六、最终极简流程速记(笔记摘要版)

  1. Linux 虚拟机安装 SSH 服务,设置开机自启,防火墙放行 22 端口。
  2. 虚拟机网络改为仅主机 (Host-Only) 适配器 ,开机查询新 IP 192.168.56.101
  3. WinSCP 填入 SFTP 完整参数,账号wang,直接登录。
  4. 左右窗口鼠标拖拽,完成跨系统文件双向传输。
相关推荐
码少女22 分钟前
Linux——多路复用之poll模型
linux·服务器·网络
蓝速科技31 分钟前
会议室门牌触控预约选型与落地实战指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
PatrickYao042236 分钟前
Linux安装UV
linux·运维·uv
蓝速科技40 分钟前
企业展厅数字人导览效果提升与选型实战指南丨蓝速科技
大数据·运维·数据库·人工智能·科技·microsoft
顶点多余43 分钟前
面试题总结 ---Linux篇
linux·运维·服务器
normanhere1 小时前
防火墙来回路径不一致导致的网速异常
运维·服务器·网络
T1mzhou1 小时前
ARM64 Linux 6.10 内核驱动(14):drivers/base/platform.c:板级设备主战场
linux·c语言·开发语言·arm开发
微露清风1 小时前
Linux 虚拟地址空间:一道屏障、一张地图、一场延迟兑现的博弈
linux·服务器
zx_741484811 小时前
【Linux入门】Shell 与第一个 Shell 脚本:认识命令行解释器,写出 Hello World
linux·运维
2601_962218471 小时前
万象生鲜系统智能报表引擎技术为生鲜企业提供数字化经营分析能力
大数据·运维·微服务·云原生·架构