温馨提示×

linux sftp与ftp区别啥

小樊
35
2026-10-07 22:17:18
栏目: 智能运维

在 Linux(以及通用网络环境)中,SFTP 和 FTP 是两种不同的文件传输方式,核心区别如下:


1️⃣ 协议本质不同

  • FTP(File Transfer Protocol)

    • 专门的文件传输协议
    • 使用 21 端口(控制) + 20 端口(数据)
    • 明文传输(账号、密码、数据都可见)
  • SFTP(SSH File Transfer Protocol)

    • 基于 SSH(22 端口) 的文件传输协议
    • 不是 FTP 的加密版,而是 SSH 的子协议
    • 单端口传输,走加密通道

2️⃣ 安全性差异(最重要)

项目 FTP SFTP
密码传输 明文 加密
数据内容 明文 加密
中间人攻击 容易 很难
防火墙友好 差(多端口) 好(单端口)

✅ SFTP 更安全,生产环境几乎都用 SFTP


3️⃣ 使用方式对比

FTP 示例

ftp 192.168.1.10

需要单独搭建 vsftpd 等服务

SFTP 示例

sftp user@192.168.1.10

只要服务器开了 SSH 就能用


4️⃣ 性能与功能

  • FTP:
    • 传输大文件性能略好
    • 支持匿名访问
  • SFTP:
    • 功能更全(支持权限、符号链接)
    • 速度略慢(加密开销)

5️⃣ Linux 常见误区

❌ “SFTP = FTP over SSL”
✅ 错!

  • FTP over SSL = FTPS
  • SFTP = SSH + 文件传输

✅ 总结一句话

FTP 是不安全的老协议,SFTP 是 SSH 上的安全文件传输,Linux 下优先用 SFTP。

如果你是:

  • 想搭服务
  • 写脚本自动传文件
  • 或者搞 Docker / 服务器运维

我可以给你具体命令或配置示例。

0 踩