温馨提示×

为什么ubuntu sftp传输慢

小樊
46
2026-10-22 20:20:57
栏目: 智能运维

Ubuntu 下 SFTP 传输慢,通常不是“Ubuntu 本身慢”,而是网络、加密、磁盘、配置或客户端某一环拖了后腿。下面按常见原因 → 排查方法 → 解决办法说明。


一、最常见原因

1️⃣ 加密算法太重(非常常见)

SFTP 基于 SSH,加密/解密消耗 CPU

  • RSA 密钥太长
  • 使用了慢的 cipher / MAC
  • 老机器 / 低功耗设备(树莓派、云轻量服务器)

✅ 排查:

sftp -v user@host

看是否使用:

  • chacha20-poly1305
  • aes128-gcm
  • 还是 aes256-cbc(慢)

✅ 解决: 服务端 /etc/ssh/sshd_config:

Ciphers chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes128-ctr
MACs hmac-sha2-256-etm@openssh.com

重启:

sudo systemctl restart ssh

2️⃣ 网络 MTU / 丢包 / 延迟高

SFTP 是单 TCP 流,对丢包极敏感。

✅ 排查:

ping host
mtr host
iperf3 -c host

✅ 解决:

  • 改 MTU(如 1400)
  • 避免跨运营商 / 跨国
  • 如果是 WiFi → 换有线

3️⃣ 磁盘 IO 慢(服务端或客户端)

特别是:

  • 机械硬盘
  • 加密磁盘(LUKS)
  • 云盘 IOPS 低

✅ 排查:

iostat -x 1

或

dd if=/dev/zero of=test bs=1M count=500

4️⃣ SFTP 本身不适合大文件 / 大量小文件

SFTP:

  • 每个文件都有握手
  • 小文件极慢

✅ 解决:

  • 打包再传
tar czf file.tar.gz dir/
  • 或用 rsync
rsync -avz dir/ user@host:/path/

5️⃣ 使用了错误工具

  • 图形界面(FileZilla / Nautilus)比命令行慢
  • Windows → Ubuntu 更容易慢

✅ 推荐:

  • sftp
  • scp
  • rsync

二、Ubuntu 特有但少见的问题

6️⃣ IPv6 优先导致慢

✅ 测试:

sftp -4 user@host

如果明显变快:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1

7️⃣ DNS 反向解析慢

SSH 登录时做反向 DNS

✅ 服务端:

UseDNS no

三、快速对照表

现象 最可能原因
大文件慢 加密 / 网络
小文件极慢 SFTP 协议
一开始慢 DNS / IPv6
服务器 CPU 100% cipher 太重
网络满但速度低 TCP 单流

四、一句话结论

Ubuntu SFTP 慢,90% 是 SSH 加密 + 网络,不是系统问题。

如果你愿意,可以告诉我:

  • 客户端系统
  • 服务端配置(云 / 物理机)
  • 文件类型(大文件 or 小文件)
  • 速度大概多少 MB/s

我可以直接给你最优参数配置。

0 踩