问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

服务器SSH连接故障排查指南:十大步骤与修复方案

创作时间:
作者:
@小白创作中心

服务器SSH连接故障排查指南:十大步骤与修复方案

引用
CSDN
1.
https://m.blog.csdn.net/sinat_57153473/article/details/146145640

本文基于真实运维案例,梳理SSH连接失败的完整排查路径,涵盖网络层服务层安全层全链路诊断方法,提供可直接执行的Linux命令与修复方案。

一、网络连通性检查(优先级:★★★★★)

1. 基础网络探测

# 测试服务器可达性
ping 192.168.1.100 -c 4
# 路由追踪排查中间节点故障
mtr -rw 192.168.1.100  
  • 现象:100%丢包提示网络不可达
  • 修复方案
  • 检查服务器网卡状态:
    ip link show
    
  • 验证网关配置:
    route -n
    
  • 联系IDC供应商核查物理链路

2. 端口可达性验证

import socket
sock = socket.socket()
sock.settimeout(3)
try:
    sock.connect(('192.168.1.100',22))
    print("端口开放")
except Exception as e:
    print(f"连接失败:{str(e)}")  

二、SSH服务状态诊断(优先级:★★★★☆)

1. 服务进程检查

# 查看SSH服务运行状态
systemctl status sshd
# 查看端口监听状态
ss -tnlp | grep :22  
  • 典型故障
  • Active: inactive (dead):服务未启动 → systemctl start sshd
  • Cannot assign requested address:IP绑定错误 → 检查 /etc/ssh/sshd_configListenAddress

2. 日志分析

# 实时查看认证日志
tail -f /var/log/secure | grep sshd  
  • 关键日志线索
  • Connection closed by invalid user:暴力破解攻击
  • Failed publickey for user:密钥不匹配

三、防火墙与安全组配置(优先级:★★★☆☆)

1. 本地防火墙排查

# UFW防火墙规则检查
ufw status verbose
# iptables规则检查
iptables -L -n --line-numbers  
  • 修复操作
    ufw allow proto tcp from any to any port 22
    iptables -I INPUT -p tcp --dport 22 -j ACCEPT  
    

2. 云平台安全组配置

  • 阿里云/腾讯云需检查
  • 入方向放行TCP 22端口
  • 源IP限制是否包含客户端地址

四、SSH配置深度核查(优先级:★★★☆☆)

1. 关键配置项检测

# 检查端口与访问限制
grep -E "^Port|^PermitRootLogin|^AllowUsers" /etc/ssh/sshd_config  
  • 高危配置
  • Port 2222:非标端口需指定 -p 参数连接
  • PermitRootLogin no:禁止root登录 → 改用普通用户

2. 密钥认证修复

# 客户端密钥权限修复
chmod 600 ~/.ssh/id_rsa
# 服务端公钥重置
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host  

五、系统资源与安全模块(优先级:★★☆☆☆)

1. 资源过载排查

# 查看CPU/内存使用率
htop
# 检查最大连接数限制
grep MaxStartups /etc/ssh/sshd_config  

2. SELinux/AppArmor干预

# 临时禁用SELinux
setenforce 0
# 检查安全模块日志
grep AVC /var/log/audit/audit.log  

六、外部攻击应急处置(优先级:★★☆☆☆)

1. 暴力破解防护

# 安装fail2ban自动封禁
yum install fail2ban -y
# 查看攻击者IP统计
lastb | grep sshd | awk '{print $3}' | sort | uniq -c  

2. 服务灾备方案

  • 临时启用WebShell:通过云平台控制台接入
  • VPC网络切换:关闭公网IP,通过内网跳板机连接

诊断流程图解

graph TD
A[SSH连接失败] --> B{网络可达?}
B -->|否| C[检查本地网络/云安全组]
B -->|是| D{端口开放?}
D -->|否| E[检查防火墙/端口监听]
D -->|是| F{服务运行?}
F -->|否| G[启动sshd服务]
F -->|是| H[分析认证日志]  

总结与建议

  1. 配置备份:定期备份 /etc/ssh/sshd_config
  2. 监控预警:配置Zabbix监控SSH服务状态
  3. 最小化暴露:限制访问IP范围,禁用密码登录
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号