Ubuntu 上 SFTP 传输“很慢”通常是网络、SSH 配置、磁盘、或客户端行为几类问题叠加。下面按最常见 → 较少见给你梳理原因和对应解决办法。
SFTP 基于 SSH,每个文件都要握手 + 加密,小文件成百上千时特别慢。
✅ 表现:
✅ 解决:
tar 打包再传tar czf files.tgz /path/to/files
rsync(效率远高于 SFTP)rsync -avzP /local/path user@host:/remote/path
SSH 默认会做 reverse DNS lookup,服务器慢会拖慢连接。
✅ 解决(服务端):
编辑 /etc/ssh/sshd_config
UseDNS no
重启:
sudo systemctl restart ssh
企业环境常见。
✅ 解决:
GSSAPIAuthentication no
同样重启 sshd。
SFTP 对丢包非常敏感。
✅ 检查:
ping -s 1400 host
mtr host
✅ 解决:
SFTP 写盘慢 ≠ 网络慢。
✅ 检查:
iostat -x 1
如果是云服务器,可能是:
老客户端 + 强加密会拖慢。
✅ 优化(服务端):
Ciphers chacha20-poly1305@openssh.com,aes128-gcm@openssh.com
重启 sshd。
✅ 建议:
sftp 命令本身没问题,但 GUI 工具慢命令行通常比 GUI 快很多。
你可以告诉我:
我可以直接给你针对性优化方案,甚至帮你改 sshd_config。