如何检测SSH端口是否异常

2026-07-27 05:49:27 来源:群英云

检测 SSH 端口是否异常,可以从 端口是否开放、服务是否正常、连接是否异常、是否被攻击 等多个层面来判断。下面给你一套从基础到进阶的检测方法,适用于 Linux 服务器。

## 一、基础检测:SSH 端口是否存活
### 1️⃣ 查看 SSH 服务是否运行
bash<br>systemctl status sshd<br>
或(部分系统)
bash<br>service ssh status<br>
✅ 正常状态:
<br>Active: active (running)<br>

### 2️⃣ 查看 SSH 监听端口
bash<br>ss -lntp | grep ssh<br>

bash<br>netstat -lntp | grep ssh<br>
示例输出:
<br>LISTEN 0 128 0.0.0.0:22<br>
✅ 说明 SSH 正在监听
❌ 没有输出 → SSH 未启动或端口被改

### 3️⃣ 本地测试 SSH 端口
bash<br>ssh localhost<br>
或指定端口:
bash<br>ssh -p 22 localhost<br>

## 二、网络层检测:端口是否可达
### 4️⃣ 使用 telnet / nc 测试端口
bash<br>telnet 127.0.0.1 22<br>

bash<br>nc -vz 127.0.0.1 22<br>
✅ 正常:
<br>Connected to 127.0.0.1.<br>
❌ 异常:
<br>Connection refused<br>Connection timed out<br>

### 5️⃣ 从外部检测(⚠️ 注意安全)
bash<br>nmap -p 22 服务器IP<br>
示例:
bash<br>nmap -p 22 8.8.8.8<br>

## 三、SSH 配置异常检测
### 6️⃣ 检查 SSH 配置文件
bash<br>vim /etc/ssh/sshd_config<br>
重点检查:
ini<br>Port 22<br>PermitRootLogin<br>PasswordAuthentication<br>AllowUsers<br>ListenAddress<br>
修改后重启:
bash<br>systemctl restart sshd<br>

## 四、异常行为检测(是否被攻击)
### 7️⃣ 查看 SSH 登录日志
bash<br>journalctl -u sshd -n 50<br>

bash<br>/var/log/secure # CentOS/RHEL<br>/var/log/auth.log # Ubuntu/Debian<br>
⚠️ 异常特征:
- 大量 Failed password
- 来自陌生 IP
- root 被暴力破解

### 8️⃣ 统计失败登录次数
bash<br>grep "Failed password" /var/log/secure | wc -l<br>
查看攻击来源:
bash<br>grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr<br>

## 五、端口被占用 / 劫持检测
### 9️⃣ 查看端口是否被非 SSH 占用
bash<br>ss -lntp | grep :22<br>
如果看到:
<br>users:(("xxx",pid=1234,fd=3))<br>
确认该进程是否为 sshd。

## 六、防护与加固建议(强烈推荐)
修改默认端口
ini<br>Port 22222<br>
禁用 root 登录
ini<br>PermitRootLogin no<br>
使用密钥登录
ini<br>PasswordAuthentication no<br>
安装 fail2ban
bash<br>yum install fail2ban -y<br>systemctl enable fail2ban<br>
使用防火墙限制 IP
bash<br>firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.2.3.4" port port="22" protocol="tcp" accept'<br>

## 七、快速自检清单 ✅
| 检查项 | 命令 |
|------|------|
| SSH 是否运行 | systemctl status sshd |
| 端口是否监听 | ss -lntp |
| 本地是否可连 | ssh localhost |
| 是否有暴力破解 | grep Failed /var/log/secure |
| 是否被改端口 | ss -lntp \| grep ssh |

如果你愿意,可以把 具体异常现象(如连不上、登录慢、CPU 飙高、日志报错)发给我,我可以帮你精准判断是 端口问题 / 配置问题 / 被攻击

关于我们
企业简介
最新动态
广州紫云云计算有限公司

7*24小时在线电话:400-100-3886

Copyright © Ziyun Cloud Ltd. All Rights Reserved. 2023 版权所有

广州紫云云计算有限公司 粤ICP备17118469号-1 粤公网安备 44010602006805号 增值电信业务经营许可证编号:B1-20180457