在 CentOS 上提升 SFTP 传输速度,可以从 网络、系统参数、SSH/SFTP 配置、磁盘与并发 几个层面入手。下面按实用程度整理。
默认加密可能偏安全但慢,可显式指定更快的算法。
服务端 /etc/ssh/sshd_config
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
MACs hmac-sha2-256,hmac-sha2-512
或更快(安全性略低):
Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com
重启:
systemctl restart sshd
客户端连接时:
sftp -o Ciphers=aes128-ctr user@host
# sshd_config
Compression no
大文件建议 关闭压缩
Subsystem sftp internal-sftp
(CentOS 默认已是 internal-sftp)
cat >> /etc/sysctl.conf <<EOF
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_window_scaling = 1
EOF
sysctl -p
modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/bbr.conf
sysctl -w net.ipv4.tcp_congestion_control=bbr
sftp -C 需谨慎sftp -C user@host # 仅适合文本类小文件
scp 或 rsync 更快scp file user@host:/path
rsync -avP file user@host:/path
SFTP 单连接慢时,可用:
lftplftp sftp://user@host -e "mirror -P 10 /remote /local"
parallel rsyncfirewalldfail2ban# 看是否 CPU 瓶颈
top
# 看网络吞吐
iftop
# 看磁盘 IO
iostat -x 1
✅ 使用 aes128-ctr
✅ 关闭压缩(大文件)
✅ 调整 TCP 缓冲区
✅ 启用 BBR
✅ 大文件用 rsync / lftp 并发
如果你愿意,可以告诉我:
我可以给你一套针对性配置。