为什么你需要这个SCP传文件教程?
每次用FTP传公司文件都担心被截获?大文件传输中途断连又要重头开始?SCP(Secure Copy Protocol)作为SSH的"亲儿子",既能享受军用级加密,又保留传统文件传输的易用性。根据2023年Stack Overflow开发者调查,SSH协议家族在远程文件操作中的使用率已超过传统FTP 27个百分点。
环境准备:你的电脑真的支持SCP吗?
Windows用户必看
- 方案一:安装Git Bash(内置OpenSSH组件)
- 方案二:启用Win10/11自带的OpenSSH客户端
- 避坑指南:部分企业版系统需手动添加『可选功能』
Linux/macOS用户优势
- 终端直接输入scp命令即可使用
- 建议执行
ssh-keygen -t rsa提前生成密钥对
5分钟上手基础传输命令
问:如何把本地报表.docx传到服务器?
scp /Users/你的名字/报表.docx user@192.168.1.100:/home/user/
问:怎样下载服务器日志?

scp user@example.com:/var/log/nginx/error.log ./
| 参数 | 作用 | 典型场景 |
|---|---|---|
| -P 2222 | 指定非标准SSH端口 | 企业内网服务器 |
| -r | 递归传输目录 | 网站整站迁移 |
高手都在用的进阶技巧
传输限速防止网络堵塞
关键命令:-l 800(单位Kbit/s)
实测将网速限制在100KB/s左右,既不影响他人办公,又能稳定传输
断点续传的替代方案
- 先用
rsync --partial传输 - 再用SCP覆盖验证文件完整性
- 特别注意:SCP原生不支持续传,这是曲线救国方案
遇到报错怎么办?
Permission denied (publickey).
➊ 检查~/.ssh/目录权限是否为600
➋ 确认服务器/etc/ssh/sshd_config未禁用密码登录
Connection timed out
➊ 关闭本地防火墙临时测试
➋ 企业用户可能需要联系网管开放出站规则
有开发者认为SCP协议已过时,但在处理小文件批量传输时,其命令简洁性依然碾压SFTP。下次需要传代码到生产环境时,不妨试试这个命令:
scp -pCq *.py deploy@prod:/opt/scripts/