×
登录
我已经注册了,直接登录
注册
我还没有注册用户,现在注册
  • 请输入手机号码

  • 请输入密码

  • 点击刷新验证码

高防服务器SSH故障排查方法

2026-01-01 02:36:38 来源:紫云

高防服务器 SSH 故障排查方法
一 快速定位流程

  • 从外到内、由简到繁:先判定是否为网络层问题,再检查端口与服务,最后核对认证与安全策略。
  • 关键命令清单(客户端):
  • 连通性:ping (ICMP 可能被高防/安全策略屏蔽,ping 不通不代表 SSH 不可用)
  • 端口可达:nc -zv 22telnet 22
  • 路径追踪:mtr -rw (Linux);Windows 可用 tracert
  • 调试连接:ssh -vvv user@IP -p <端口>
  • 现象到原因速查:
  • Connection refused:目标机端口无服务监听(sshd 未运行/端口不对)
  • Connection timed out:路径上防火墙/安全组/清洗设备丢弃包(策略或限速导致)
  • Host key verification failed:服务器重装或 IP 复用导致指纹变更,需清理客户端旧指纹

二 服务器端必查项

  • 服务与监听
  • 状态:systemctl status sshd(若 inactive,执行 systemctl start sshd && systemctl enable sshd
  • 监听:ss -tnlp | grep :22netstat -tnlp | grep :22
  • 配置核对:/etc/ssh/sshd_config
  • Port 22(或自定义端口)、ListenAddress 0.0.0.0(避免仅 127.0.0.1)
  • PasswordAuthentication yes/noPubkeyAuthentication yesPermitRootLogin yes|prohibit-password|no
  • AllowUsers/AllowGroups/DenyUsers 是否限制了你的账户或来源 IP
  • 防火墙与云安全组
  • firewalld:firewall-cmd --list-all;放行:firewall-cmd --permanent --add-service=ssh && firewall-cmd --reload
  • ufw:ufw status;放行:ufw allow 22/tcp
  • 云控制台:入方向放行 TCP 22(或自定义端口),源地址尽量限定为你的 出口网段/CIDR
  • 日志与认证
  • 实时日志:Ubuntu/Debian tail -f /var/log/auth.log;CentOS/RHEL tail -f /var/log/secure
  • 常见线索:invalid user(暴力破解)、Failed publickey(密钥不匹配)、error: Could not load host key(主机密钥缺失)
  • 资源与连接限制
  • 资源:df -h(磁盘满会导致会话/日志异常)、free -m / top(内存/CPU 过载)
  • 连接限制:grep -E "MaxStartups|MaxSessions" /etc/ssh/sshd_config(过高并发可能被拒)
  • 安全模块
  • SELinux:getenforce(临时 setenforce 0 仅用于排查)、grep AVC /var/log/audit/audit.log
  • AppArmor:检查策略与拒绝日志

三 客户端与高防侧专项

  • 客户端常见错误
  • 命令与端口:ssh user@IP -p <端口>;端口非 22 必须显式指定
  • 密钥权限:chmod 600 ~/.ssh/id_rsachmod 644 ~/.ssh/id_rsa.pubchmod 700 ~/.ssh
  • 指定密钥:ssh -i ~/.ssh/your_key user@IP
  • 配置覆盖:检查 ~/.ssh/config 中的 Host 条目是否误配
  • 指纹变更:ssh-keygen -R 后重连
  • 调试输出:ssh -vvv 定位卡在 “connecting/key exchange/auth” 哪个阶段
  • 高防与运营商侧要点
  • 端口策略:确认高防已对 TCP 22(或自定义端口)做放行/回源策略,且回源 IP 段已加入服务器防火墙白名单
  • 清洗/限速:突发流量触发清洗时可能出现间歇性超时,观察高防控制台告警与回源状态
  • 源地址变化:企业 NAT/代理出口导致源 IP 变化,需在安全组/防火墙中使用 地址段 而非单 IP
  • 端口变更:若改用非 22 端口,确保高防、系统防火墙、sshd_config 三者一致
  • 应急通道:保留 控制台/VNC/带外管理 通道,以便在策略误封时恢复访问

四 常见症状与处置对照表

症状快速判断处置要点
Connection refused端口无监听或服务未起启动 sshd;核对 Port/ListenAddress;ss -tnlp 确认监听
Connection timed out包被丢弃或路径中断检查服务器/本机防火墙、云安全组、高防策略;mtr 找中断节点
Permission denied (publickey)密钥不匹配或未部署公钥核对 ~/.ssh/authorized_keys 权限 600;ssh-copy-id 重发公钥;客户端 -i 指定正确私钥
Permission denied (password)密码错误或密码登录被禁确认 PasswordAuthentication 为 yes;改用密钥或重置密码
Host key verification failed服务器指纹变更执行 ssh-keygen -R 后重连
Too many authentication failures触发 MaxAuthTries/MaxStartups增加 MaxAuthTries;清理本地 known_hosts 中重复条目;检查 fail2ban
PTY allocation request failed服务端限制或资源紧张检查 MaxSessions/MaxStartups;排查系统负载与磁盘空间

五 最小化暴露与加固建议

  • 限制来源:安全组/防火墙仅放行可信 IP/CIDR;避免使用 0.0.0.0/0
  • 禁用密码:在确认密钥可用后设置 PasswordAuthentication no,仅保留 PubkeyAuthentication yes
  • 端口与协议:可改用 非 22 端口;仅开放 TCP 22;必要时限制仅内网访问并配合跳板机
  • 账号策略:优先使用普通用户登录,必要时 sudo 提权;谨慎设置 PermitRootLogin
  • 入侵防护:部署 fail2ban,监控 /var/log/auth.log 的失败尝试
  • 变更留痕:修改 /etc/ssh/sshd_config 前先备份;变更后 systemctl restart sshd 并验证新会话
  • 监控告警:对 sshd 进程、22 端口连通性、登录失败率设置监控与告警,缩短故障恢复时间

开始使用我们的产品

销售客服
售后技术支持