SFTP 加密传输——让数据不走明文
为什么要加密
标准 FTP 协议的传输内容是完全明文的——包括:
- 登录账号和密码
- 目录结构
- 文件名和文件大小
- 文件的全部实际内容
这意味着,如果同一局域网里有一台设备在做网络嗅探(抓包),它能完整地看到你 FTP 会话里的所有内容。
这种情况在以下场景有实际风险:
- 公共 WiFi 或公司网络(可能有网管在做流量分析)
- 朋友/同事连了你的热点,网络上多了几台你不完全信任的设备
- 传输包含敏感信息的文件(合同、隐私照片、工作文档)
SFTP 是什么
SFTP 是 SSH File Transfer Protocol 的缩写——它不是 FTP 的升级版本,而是一套完全不同的协议,跑在 SSH 通道上。和 FTP 的关键区别:
| 对比项 | FTP | SFTP |
|---|---|---|
| 传输加密 | 明文,无加密 | SSH 隧道内全程加密 |
| 密码传输 | 明文(登录信息直接暴露) | 加密传输,看不到 |
| 数据完整性 | 无校验,传输中被篡改无感知 | SSH 协议自带完整性校验 |
| 电脑端要求 | 系统自带支持 | Windows 需要额外工具 |
| 速度 | 略快(无加密开销) | 略慢(加密有 CPU 开销) |
Filetransfer 里怎么开 SFTP
操作流程
- 进入 Filetransfer 设置页面
- 找到"服务类型"或"传输模式"配置项
- 选择 SFTP 模式(或 FTP + SFTP 同时开启)
- 保存设置
- 回到主界面重启服务(先停止再启动)
重启后,手机屏幕上显示的连接地址格式会变成 SFTP 协议:
sftp://IP:端口
注意协议前缀变了——电脑端连接时必须用 sftp:// 开头,不能再用 ftp://。
电脑端怎么连 SFTP
Windows 资源管理器的局限
Windows 资源管理器不原生支持 SFTP 协议——你在地址栏输入 sftp://IP:端口 会直接报错。这是个硬伤,没有办法绕过。
Windows 上可用的 SFTP 客户端
| 客户端 | 类型 | 特点 |
|---|---|---|
| FileZilla | 免费 | 老牌 FTP/SFTP 客户端,界面友好 |
| WinSCP | 免费 | Windows 专用,界面类似资源管理器 |
| Cyberduck | 免费 | Mac/Windows 双平台,界面简洁 |
| PuTTY 的 psftp | 免费 | 命令行工具,适合脚本场景 |
推荐 WinSCP 或 FileZilla,安装简单、界面清晰、支持 SFTP。
连接示例(以 FileZilla 为例)
- 打开 FileZilla,在顶部输入:
- 主机:
sftp://手机IP或直接填 IP 然后在协议栏选 SFTP - 用户名/密码:你在 Filetransfer 里设置的账号密码(SFTP 不支持匿名登录)
- 端口:Filetransfer 显示的端口号
- 点"快速连接",几秒后进入文件列表
Mac 上的 SFTP
Mac 自带一些 SFTP 能力(终端里 sftp 命令),但 Finder 不原生支持 SFTP。推荐:
- Cyberduck(免费跨平台)
- FileZilla for Mac
SFTP 模式下账号密码的要求
SFTP 模式不支持匿名登录——SSH 协议本身要求身份验证。所以开 SFTP 之前必须先在 Filetransfer 设置里配好用户名和密码(关闭匿名登录,设置自定义账号)。
如果你只开了 SFTP 模式但没设账号密码,FTP 服务启动可能会失败或拒绝所有连接。
FTP + SFTP 同时开
部分版本的 Filetransfer 支持同时开启 FTP 和 SFTP 两种服务——监听不同的端口:
- FTP 端口(默认 2121):匿名或密码登录,明文传输
- SFTP 端口:必须密码登录,加密传输
这种配置下:
- 家里自己电脑用 FTP(方便,资源管理器直接连)
- 出门或敏感传输时切 SFTP(安全)
两个服务互不干扰,你按需选择。
性能影响
SFTP 相比 FTP 会多一层 SSH 加密解密,有轻微的 CPU 和速度开销:
- 现代手机的 CPU 处理 SSH 加密很轻松,速度影响不大
- 如果用老手机或传输超大文件(几十 GB),可能会感觉到一点点速度下降
- 对大多数日常使用场景来说,这个性能差异可以忽略
什么时候该用 SFTP
| 场景 | 建议模式 |
|---|---|
| 家里自己的 WiFi,传普通文件 | FTP(方便) |
| 公共 WiFi 或热点给别人用 | SFTP(安全) |
| 传隐私/敏感文件 | SFTP + 自定义账号密码 |
| 长时间运行 FTP 服务 | SFTP(防止有人监听) |
| 电脑端只有资源管理器(不想装客户端) | FTP(SFTP 资源管理器不支持) |
关掉 SFTP
不想用了就回到设置里切回 FTP 模式,重启服务即可。之前配的用户名密码可以保留也可以删除,看你还会不会继续用 FTP 密码登录模式。