VPS SSH 连接失败排查
Linux
教程
因使用旧用户名配置导致多次登录失败,触发 fail2ban IP 封禁,最终恢复 VPS SSH 访问。
1 背景
问题:修改 VPS 用户名后 SSH 连接失败
- 创建了一个临时 sudo 账户,修改了 VPS 的主用户名
- 尝试用新账户重新连接 VPS
- 没发现我的 snippet 里仍然是旧用户名
- 用错误的/不存在的用户名和密码尝试连接
- 多次登录失败后,SSH 无法访问
2 排查过程
2.1 通过远程控制台访问 VPS
通过服务商提供的远程控制台(Remote Console)登录 VPS,在本地开始排查。
2.2 检查 SSH 服务状态
检查 SSH 状态:
systemctl status ssh发现 SSH 服务没有运行。
启动 SSH 并设置开机自启:
sudo systemctl start ssh # 启动
sudo systemctl enable ssh # 开机自启
systemctl status ssh # 检查状态2.3 检查防火墙配置
检查 UFW 状态:
ufw status确认 SSH 端口没有被 UFW 拦截,排除了防火墙的问题。
2.4 检查 fail2ban 封禁状态
检查 fail2ban 服务:
sudo systemctl status fail2ban在本地查看自己的 IP:
curl https://api.ipify.org在远程控制台上,查看自己的 IP 是否被封禁:
# 检查 SSH jail 状态:
sudo fail2ban-client status sshd
# Banned IP list: <my_ip>原因:
- 修改用户名后,用来连接 VPS 的 snippet 仍然使用旧用户名
- 多次使用无效的用户名/密码尝试登录
- 失败次数超过了 fail2ban 的阈值(5次)
- fail2ban 自动封禁了我的 IP(封禁时长: 1小时)
2.5 解封我的 IP
查看当前被封禁的 IP:
sudo fail2ban-client status sshd解除该 IP 的封禁:
sudo fail2ban-client set sshd unbanip <my_ip>如有需要,重启 fail2ban:
sudo systemctl restart fail2ban3 最终结果
- SSH 服务已恢复
- 确认 UFW 不是问题所在
- 找到根本原因:fail2ban 封禁了我的 IP
- 解封 IP 后,SSH 连接成功恢复
4 后续注意事项
- 修改用户名后,立即更新 snippets
- 避免短时间内用错误的用户名/密码反复尝试登录
- 修改 SSH 相关设置前,先保留一个备用 sudo 账户
- 检查 fail2ban 状态作为 SSH 登录失败的优先排查项


