如何使用 SCP 从 Windows 传输文件到 Ubuntu 服务器
SCP(Secure Copy Protocol)是基于 SSH 协议的安全文件传输工具,操作简单、速度快,非常适合在 Windows 和 Linux 服务器之间传输文件。
1. Windows 端准备工作
方法一:使用 Windows 内置 OpenSSH(推荐)
- 打开 设置 → 应用 → 可选功能
- 点击「添加功能」,搜索并安装 OpenSSH Client
- 重启电脑后,在 PowerShell 或 CMD 中输入
ssh测试是否可用
方法二:使用 Git Bash(简单)
直接安装 Git for Windows,安装后自带 SSH 和 SCP。
2. 基本 SCP 命令格式
bash
scp [选项] 本地文件路径 用户名@服务器IP:远程路径
常用示例
上传单个文件
bash
scp C:\Users\你的用户名\Documents\test.txt user@192.168.1.100:/home/user/
上传整个文件夹(递归)
bash
scp -r C:\Users\你的用户名\Documents\myfolder user@192.168.1.100:/home/user/
下载文件(从服务器到 Windows)
bash
scp user@192.168.1.100:/home/user/remote.txt C:\Users\你的用户名\Downloads\
3. 常用选项说明
-r:递归复制整个目录-P 端口号:指定 SSH 端口(默认22)-v:显示详细传输过程(调试用)-C:启用压缩传输(适合大文件)
4. 注意事项
-
服务器必须开启 SSH 服务(Ubuntu 默认已安装):
bashsudo apt update && sudo apt install openssh-server sudo systemctl enable --now ssh -
防火墙放行:
bashsudo ufw allow ssh -
权限问题:确保目标目录有写入权限
-
中文文件名:建议使用英文路径,避免编码问题
-
大文件传输 :推荐加
-C压缩,或使用rsync替代
5. 进阶:配置 SSH 密钥(免密登录)
bash
# Windows 生成密钥(在 PowerShell 执行)
ssh-keygen -t ed25519
# 把公钥复制到服务器
ssh-copy-id user@服务器IP
之后就可以不用每次输入密码了~