一、常见登录失败原因分析
- SSH服务未启动或配置错误(如端口未开放)
- 本地或服务器防火墙拦截连接请求
- 云平台安全组未放行SSH端口
- 网络波动或IP被列入黑名单
二、SSH服务配置检查
排查步骤如下:
- 检查SSH服务状态:
systemctl status sshd
(Linux) - 确认监听端口:
netstat -tuln | grep 22
- 验证密钥对权限:
chmod 600 ~/.ssh/authorized_keys
若发现服务未启动,执行sudo systemctl start sshd
重启服务。
三、服务器防火墙排查
针对不同防火墙工具的操作:
工具 | 查看规则 | 开放端口 |
---|---|---|
iptables | iptables -L -n |
iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
firewalld | firewall-cmd --list-all |
firewall-cmd --add-port=22/tcp --permanent |
需同时检查/etc/hosts.deny
是否包含误拦截IP。
四、云平台安全组配置
主流云平台操作步骤:
- 登录控制台,找到「安全组」配置页
- 添加入方向规则:协议类型TCP,端口范围22/22
- 特殊运营商(如TY云)需额外备案非标端口
五、综合解决方案与预防措施
推荐采用系统化排查流程:
- 使用
ping
和telnet
测试基础连通性 - 检查服务器资源占用(内存/CPU)是否超限
- 定期更新SSH协议版本并启用双因素认证
建议在修改关键配置前创建服务器快照,以便快速回滚。
SSH登录失败问题需从服务状态、本地配置、网络安全三个维度进行交叉验证。通过标准化排查流程可快速定位问题根源,同时建议在云平台中启用登录审计功能以增强安全性。