服务器每天几千条 SSH 登录失败怎么办:密钥登录与基础加固清单
NodeSeek 用户关注服务器每天出现大量 SSH 登录失败记录,并询问改用密钥认证是否足够安全。本文结合 OpenSSH 配置说明整理排查与加固步骤。
发生了什么
一位 NodeSeek 用户发现服务器每天有数千条 SSH 登录失败记录,并询问采用密钥登录后是否可以放心。公网 SSH 端口经常会遇到自动扫描和弱口令尝试;大量失败记录不等于已经入侵,但说明服务持续暴露在探测中,需要同时检查成功登录和配置状态。
密钥认证能显著降低口令猜测风险,但前提是公钥登录已经正确配置,并且不再保留可被猜测的密码入口。它也不能替代系统更新、权限控制、日志审计和私钥保护。
SSH 密钥登录和禁用密码怎么做
- 先建立普通管理用户,在本地生成带口令保护的密钥,把公钥加入服务器用户的
authorized_keys。 - 保持当前会话不要退出,另开终端确认密钥登录和
sudo都能正常使用。 - 检查系统实际加载的 SSH 配置文件与包含项,再按发行版要求关闭密码认证和不必要的 root 远程登录。
- 修改后先执行配置语法检查,再平滑重载 SSH 服务,并再次从新终端验证;确认成功前不要关闭原会话。
- 使用防火墙或云安全组限制可信来源;来源地址不固定时,可考虑私有网络、跳板机或身份感知访问方案。
OpenSSH 还提供 AllowUsers、AllowGroups、MaxAuthTries 和并发未认证连接限制等选项。具体默认值和配置文件位置可能因发行版不同而变化,应以当前系统手册和生效配置为准,不要直接复制一整套陌生配置。
如何判断有没有被登录成功
不要只统计失败次数。应检查系统认证日志中的成功登录、来源 IP、登录用户和时间,同时查看新增账户、异常 authorized_keys、计划任务、启动项、监听端口和高占用进程。发现无法解释的成功登录时,应先隔离主机、保留日志并轮换可能泄露的凭据,再从可信备份恢复或重建。
能提高什么效率
密钥登录减少了重复输入密码,也方便为不同设备分配独立密钥并在丢失时单独撤销。配合用户白名单、防火墙和自动封禁策略,可以显著降低无效认证日志数量,让管理员更容易从日志中识别真正异常的登录行为。
仍需注意的风险
私钥一旦泄露且没有口令保护,攻击者仍可能直接登录;应妥善保存私钥并避免共享。更改 SSH 配置存在把自己锁在服务器外的风险,云主机应预先确认控制台或救援模式可用。仅修改默认端口只能减少部分扫描噪声,不能作为主要安全措施。