怎样用CentOS优化SSH性能
导读:CentOS 上优化 SSH 性能的可操作清单 一 定位瓶颈 使用详细日志定位卡点:ssh -vv user@host,若看到 “gssapi-with-mic” 阶段耗时,多半是 GSSAPI 导致;若连接初期停顿,常与 DNS 反向解...
CentOS 上优化 SSH 性能的可操作清单
一 定位瓶颈
- 使用详细日志定位卡点:
ssh -vv user@host,若看到 “gssapi-with-mic” 阶段耗时,多半是 GSSAPI 导致;若连接初期停顿,常与 DNS 反向解析 相关。 - 量化握手耗时:
time ssh user@host exit,对比优化前后耗时差异。 - 检查网络与负载:
ping、traceroute、top/free/df -h,排除丢包、延迟与资源紧张。 - 若服务器需解析大量外部域名,检查 /etc/nsswitch.conf 与 /etc/resolv.conf 的解析顺序与 nameserver 可用性。
二 服务端关键优化
- 关闭反向 DNS 解析:在 /etc/ssh/sshd_config 设置
UseDNS no(即便被注释,默认也是 yes,建议显式关闭)。 - 禁用 GSSAPI 认证:设置
GSSAPIAuthentication no,必要时GSSAPICleanupCredentials no,可显著缩短登录握手时间。 - 优化保活与会话:开启
TCPKeepAlive yes,设置ClientAliveInterval 30、ClientAliveCountMax 99999,减少空闲断开与重复握手。 - 仅启用安全协议:确保
Protocol 2。 - 应用生效:
systemctl restart sshd。
三 客户端与连接复用优化
- 复用连接减少握手次数:在 ~/.ssh/config 增加
Host * ControlMaster auto ControlPath /tmp/ssh-%r@%h:%p ControlPersist 600 - 客户端也关闭 GSSAPI:在 /etc/ssh/ssh_config 设置
GSSAPIAuthentication no。 - 解析优化:将常用目标主机加入 /etc/hosts,或使用 IP 直连,规避 DNS 延迟。
- 变更端口时,客户端需同步指定
-p < new_port>或在配置中声明端口。
四 安全加固与性能兼得的设置
- 优先使用密钥登录:
PubkeyAuthentication yes,验证可用后再PasswordAuthentication no,既提升安全也减少口令协商开销。 - 禁止 root 直登:
PermitRootLogin no,通过普通用户 +sudo提权。 - 限制认证尝试与并发:
MaxAuthTries 6、MaxStartups 5(或适度更高并发但配合防火墙/登录审计)。 - 更改默认端口:
Port 822(示例),并配合防火墙放行新端口;此举主要降低噪音与自动化攻击面,对单次握手性能影响有限。 - 按需关闭不必要功能:
X11Forwarding no。
五 网络与系统层面的配合
- 提升解析效率:在 /etc/nsswitch.conf 将
hosts:设为files(仅本地解析,若需外网域名解析再改为files dns),并清理 /etc/resolv.conf 中无效或慢速的 nameserver。 - 防火墙放行:使用
firewall-cmd或iptables放行 SSH 端口(默认 22 或自定义端口),避免策略导致的连接失败或超时。 - 资源与版本:确保系统负载正常、磁盘空间充足,并保持 OpenSSH 为较新版本,规避已知性能/安全缺陷。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样用CentOS优化SSH性能
本文地址: https://pptw.com/jishu/788114.html
