引言:为什么从服务器下载大文件总失败?
我们在维护 Windows 服务器时,经常需要把服务器上的整站数据、数据库或者程序源码打包下载到自己电脑上做异地备份。
不管你习惯将文件打包成什么格式——是压缩率极高的 **.7z**、Windows 传统的 **.rar**,还是最通用的 **.zip**,甚至是 Linux 常见的 **.tar.gz**——只要文件体积超过 1GB,而远程服务器的公网宽带又比较小(比如只有 3M 宽带,下载速度最快也就 300 多 KB/s),传输就需要挂机跑将近一个小时。
在这一个小时里,网络只要稍微一闪断或者波动,传统的传输方式(比如直接在远程桌面里复制粘贴,或者用普通的 FTP 软件)就会彻底中断并报错。结果就是你传了 99% 也会前功尽弃,只能删掉重新从 0% 开始传,非常折磨人。
为了解决这个痛点,今天教大家一个极其稳妥的绝招:不需要在服务器上装任何乱七八糟的软件,直接利用我们本地电脑自带的 WSL (Windows 的 Linux 子系统),搭配 Linux 内置的 scp 工具,用一行命令实现高效压缩传输,而且功能上完美支持各类压缩包,就算中途断开 100 次,也能无缝接着传!
🛠️ 第一步:让服务器做好准备(开启自带的 SSH 门禁)
这个方案最省心的地方在于:你的 Windows 服务器不需要安装任何第三方同步软件。Windows Server 2022 已经原生自带了微软官方的 OpenSSH 服务,我们只需要把它打开,相当于给本地电脑开辟一个专属的专用传输通道。
在服务器上开启通道
远程登录你的 Windows 服务器,以管理员身份打开 PowerShell(注意:是远程服务器上的,不是你本地电脑的),依次复制并运行以下命令:
# 1. 自动下载并安装 OpenSSH 服务端组件 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 # 2. 启动 SSH 服务 Start-Service sshd # 3. 把服务设置为开机自动启动,省得以后手动开 Set-Service -Name sshd -StartupType 'Automatic'
去云厂商控制台放行“22端口”
SSH 服务默认走的是 22 端口。所以请登录你的云服务器后台(如阿里云、腾讯云等),在安全组/防火墙入站规则里,加一条规则:放行 TCP 22 端口。不然你本地的电脑连不上服务器。
💻 第二步:本地电脑安装 WSL 环境与初始化(最新保姆级指南)
要使用这个黑科技,你的本地 Windows 电脑(支持 Windows 10/11)需要有 WSL 环境。如果你从来没听过说它,请完全跟着下面死板的步骤一步步点,包你成功。
1. 检查自己是否已经有 WSL
在你的本地电脑上,按键盘上的 Win + R 键,输入 cmd 回车打开黑色的命令行窗口,输入下面三个字母:
wsl
情况 A:如果窗口变成了类似
user@hostname:/mnt/c$这样的 Linux 路径字样,说明你电脑早就装过了,请直接输入exit退出,然后直接看下面的【2.3 关键初始化】。情况 B:如果系统提示
无法将“wsl”项识别为...或者报错,说明你电脑是纯洁的,请继续往下安装。
2. 用最新的一键命令进行安装
新版的 Windows 已经将 WSL 安装极大简化,不需要再去控制台勾选各种组件了。
鼠标点击你本地 Windows 电脑的“开始”菜单(或任务栏的搜索框)。
输入 PowerShell。
在搜索结果中,右键点击“Windows PowerShell”,选择“以管理员身份运行”(这步很重要,必须用管理员身份)。
在弹出的窗口中,直接输入以下命令并敲回车:
wsl --install
此时你会看到屏幕上开始滚动进度条:系统会自动下载最新的 Linux 内核更新包,并默认下载最稳定的 Ubuntu 系统(这需要大约 1~3 分钟,取决于你的网速)。
当屏幕提示
请求的操作成功。直到重启系统前,更改才会生效。时,说明底层已经装好了。请果断重启你的本地电脑。
3. 重启后的关键初始化(小白容易懵的地方)
电脑重启进入桌面后,请耐心等待 10~30 秒,系统会自动弹出一个全新的黑色命令行窗口(如果没有自动弹出,请去开始菜单里找到新多出来的 Ubuntu 图标点击打开)。
这个窗口会显示 Installing, this may take a few minutes...(正在安装,可能需要几分钟),请不要关闭它,稍微等一会儿。
接着,它会停下来并出现下面两行字:
Enter new UNIX username:* 这是让你给 Linux 系统起个用户名。直接用英文字母瞎打一个(例如写mybackup),然后按回车。New password:* 这是让给这个账号设个密码。直接在键盘上敲一组你记得住的密码,然后按回车。
⚠️ 超级注意:在 Linux 下输密码时,屏幕上绝对不会显示任何星号
***或任何字符,你看着像没输进去一样,这是 Linux 的安全机制。不要怀疑,盲打完直接按回车就行!
Retype new password:
让你再次确认密码。把刚才的密码再盲打一遍,按回车。
当你看到屏幕上打印出类似 Welcome to Ubuntu... 以及 yourname@yourcomputer:~$ 的绿色字样时,说明 WSL 已经顺利安装并进入终端了。
🚀 第三步:第一时间更新并检查工具状态
既然已经坐在了刚安装好的本地 Linux (WSL) 终端里面,在正式拉取文件前,建议小白先跑一行命令更新一下软件源,确保底层的系统组件处于最新、最稳定的状态:
sudo apt update
提示:因为使用了 sudo(系统管理员权限),期间它会向你索要密码,直接输入你刚才为 WSL 设定的 Linux 密码并按回车即可。
最新版 WSL 默认内置了高版本 scp 传输工具,它底层已经放弃了过时的旧协议,全面改用和 sftp 一样的先进架构,天然具备了极强的大文件断点续传能力。
📥 第四步:执行首次传输命令(无缝拉取文件)
1. 先在本地 Windows 上建好保存文件夹
因为我们一会儿要在本地电脑上存文件,为了防止 Linux 找不到地方报错,请先打开你本地的 E 盘(或者 D 盘),手动新建好你想存放备份的文件夹(例如:在 E 盘新建一个名叫 网站备份 文件夹,里面再建一个 2026-06-07 文件夹)。
2. 在 WSL 中执行 scp 传输
在本地电脑上打开全新的 PowerShell 或 CMD(不用管理员身份也行),输入 wsl 切入 Linux 状态。然后复制并运行以下通用格式命令:
scp -P 22 -C -o ConnectTimeout=30 用户名@服务器公网IP:/服务器文件路径 '/本地保存路径/'
✍️ 标准演示案例:
假设你想把远程服务器上 C:/wwwroot/daddd.7z(或者是 .zip / .rar 等任意格式)的网站备份包,下载到你本地电脑 E 盘 的 网站备份/2026-06-07/ 文件夹下。
由于 3M 宽带极小,命令里的大写 -C 参数 会强迫两端在传输时进行数据实时压缩,能榨干宽带的每一字节效率。
在 WSL 终端中运行:
scp -P 22 -C -o ConnectTimeout=30 用户名@服务器IP:/C:/wwwroot/daddd.7z '/mnt/e/网站备份/2026-06-07/'
注:在 WSL 里面,本地的 E 盘必须写成 Linux 挂载格式 /mnt/e/。
📢 首次连接的小提示:
第一次敲下回车后,终端会弹出一行英文安全提示:Are you sure you want to continue connecting (yes/no)?。直接打个 yes 敲回车。
紧接着它会让你输密码,输入你 Windows 服务器的登录密码(再次提醒:Linux 输密码时屏幕上不会显示任何星号,盲打输完直接按回车就行)。随后,你就能看到进度条和速度开始满速跳动了!
⚠️ 第五步:核心救场!网络中途断开了怎么办?
大文件在小宽带下挂机,网络突然闪断,终端提示 Connection closed 导致传输卡死不动是家常便饭。这时候千万不要去动本地那个传了一半的文件,更不要删掉它!
这就是新版 scp 命令最逆天的地方。当网络断开后,你只需要在刚才那条命令的最后面,追加一个关键的 -c(注意是小写,代表 continue 继续续传) 参数。
直接在终端里按键盘的【上方向键 ↑】调出上一条命令,在末尾加上 -c 直接敲回车:
scp -P 22 -C -o ConnectTimeout=30 用户名@服务器IP:/C:/wwwroot/daddd.7z '/mnt/e/网站备份/2026-06-07/' -c
神奇的效果出现了:重新输入服务器密码后,scp 会在 1 秒钟内自动秒级校验本地已经下载好的部分,进度条会精准地从上次断开的位置,无缝继续往下传!

不管中途因为网络差断开多少次,只要断了就重复执行这一条带 -c 的续传命令,大文件最终一定会 100% 安全完整地躺进你的硬盘里。
💡 总结与避坑心得
格式完全通用:本教程使用的
scp命令基于底层数据流传输,文件后缀名无论是.zip、.7z、.rar还是.tar,断点续传的机制和稳定性完全一致。路径含有中文或空格:在 Linux/WSL 环境下输入本地保存路径时,如果文件夹名字带有中文或者空格,目标路径一定要用**单引号
''**整体包裹起来,否则 Linux 没办法正确识别。绿色轻量、不占资源:传统的同步软件会在服务器上常驻后台,占用本就紧张的 CPU 和内存。而这个基于 SSH 隧道的纯原生命令行方案传输完毕就彻底释放,对低配(如 2核4G)服务器极其友好,非常适合作为长期异地备份的终极手段。