温馨提示×

ubuntu sftp为何很慢

小樊
40
2026-09-23 14:05:33
栏目: 智能运维

Ubuntu 上 SFTP 传输“很慢”通常是网络、SSH 配置、磁盘、或客户端行为几类问题叠加。下面按最常见 → 较少见给你梳理原因和对应解决办法。


一、最常见原因(90% 情况)

1️⃣ SSH 加密开销大(尤其是小文件极多)

SFTP 基于 SSH,每个文件都要握手 + 加密,小文件成百上千时特别慢。

✅ 表现:

  • 大文件速度正常
  • 大量小文件(几 KB)极慢

✅ 解决:

  • 用 tar 打包再传
tar czf files.tgz /path/to/files
  • 或用 rsync(效率远高于 SFTP)
rsync -avzP /local/path user@host:/remote/path

2️⃣ DNS 反向解析导致连接卡顿

SSH 默认会做 reverse DNS lookup,服务器慢会拖慢连接。

✅ 解决(服务端): 编辑 /etc/ssh/sshd_config

UseDNS no

重启:

sudo systemctl restart ssh

3️⃣ GSSAPI / PAM 认证慢

企业环境常见。

✅ 解决:

GSSAPIAuthentication no

同样重启 sshd。


4️⃣ 网络 MTU / 丢包

SFTP 对丢包非常敏感。

✅ 检查:

ping -s 1400 host
mtr host

✅ 解决:

  • 调整 MTU
  • 换有线网络
  • 避免跨国高延迟链路

二、Ubuntu 服务端配置问题

5️⃣ 磁盘 IO 瓶颈

SFTP 写盘慢 ≠ 网络慢。

✅ 检查:

iostat -x 1

如果是云服务器,可能是:

  • 低配云盘
  • 突发型实例被限速

6️⃣ 加密算法太重

老客户端 + 强加密会拖慢。

✅ 优化(服务端):

Ciphers chacha20-poly1305@openssh.com,aes128-gcm@openssh.com

重启 sshd。


三、客户端问题

7️⃣ Windows 客户端特别慢(FileZilla / WinSCP)

  • FileZilla 默认并行连接多,反而更慢
  • WinSCP 用 SFTP 模式比 SCP 慢

✅ 建议:

  • WinSCP → 用 SCP 模式
  • FileZilla → 限制并发为 1

8️⃣ 使用 sftp 命令本身没问题,但 GUI 工具慢

命令行通常比 GUI 快很多。


四、快速判断你属于哪种

你可以告诉我:

  1. Ubuntu 是客户端还是服务器?
  2. 传大文件慢还是小文件慢?
  3. 用的是命令行 sftp 还是 FileZilla / WinSCP?
  4. 是否跨公网 / 跨国?

我可以直接给你针对性优化方案,甚至帮你改 sshd_config。

0 踩