关闭 ssh 的 compression 配置可显著降低大文件传输时的 cpu 占用,尤其适用于高负载或低配服务器;需通过修改 /etc/ssh/sshd_config 将 compression 设为 no 并重启 sshd 服务生效。

直接关闭 SSH 的 Compression 配置能有效降低大文件传输时的 CPU 占用,尤其在高负载或低配服务器上效果明显。默认情况下,OpenSSH 服务端(sshd)的压缩是禁用的,但若你确认当前启用了压缩(比如配置中存在 Compression yes 或 CompressLevel),可按以下方式安全关闭。
确认当前压缩是否启用
先检查实际生效配置:
- 运行
sudo sshd -T | grep compression,查看输出是否为compression yes - 或手动检查配置文件:
sudo grep -i "^compression" /etc/ssh/sshd_config - 注意:注释行(以
#开头)不生效;只有未注释且值为yes才代表启用
关闭压缩功能
编辑主配置文件并明确禁用:
- 执行
sudo vi /etc/ssh/sshd_config - 找到
Compression行(可能为#Compression yes或Compression yes) - 将其改为
Compression no(确保无注释、值为no) - 如存在
CompressLevel行,一并删除或注释掉(该参数仅在压缩启用时有效) - 保存退出
重启服务并验证
使配置生效并确认关闭成功:
- 执行
sudo systemctl restart sshd - 再次运行
sudo sshd -T | grep compression,应返回compression no - 此时所有新建立的 SSH 连接(含 SFTP)均不再进行数据压缩,CPU 压力显著下降
补充说明
关闭压缩对大文件搬运特别友好,因为:
- 压缩/解压本身消耗大量 CPU,而现代网络带宽通常远高于 CPU 处理压缩的吞吐上限
- SFTP 使用
internal-sftp子系统时,即使压缩关闭,仍保持协议效率,无需额外调整 - 若需兼顾小文件响应速度与大文件性能,可考虑客户端侧控制(如
ssh -o Compression=no),而非全局关闭











