新买的云服务器只要开放 SSH 端口,很快就会在日志里看到来自不同 IP 的登录尝试。哪怕网站还没上线,自动扫描器也可能已经开始测试 root、admin 和常见弱密码。
看到几百次失败登录不代表服务器已经被入侵,但一直使用 root 加简单密码,风险确实很高。我处理服务器时,更关注的是先把登录方式改安全,再考虑封禁扫描 IP,而不是每天手动看日志。

今天这篇文章就来讲讲,怎么判断 VPS 是否正在被暴力扫描,以及如何通过密钥登录、普通用户、SSH 配置和 Fail2Ban 完成基础加固。
一、为什么新服务器很快就会被扫描?
公网 IPv4 地址范围是公开的,扫描器会持续探测 22、3389、80、443 等常见端口。它们并不认识你,也不是专门盯上某个网站,只是在批量寻找可连接的服务。
SSH 端口开放后,攻击程序会尝试常见用户名和密码组合。密码足够强时,扫描未必能登录成功,但会制造大量日志,也可能消耗一点 CPU 和网络连接。
被扫描很常见,真正危险的是弱密码、长期开放root密码登录,以及系统多年不更新。
二、怎么查看SSH失败登录记录?
Ubuntu、Debian 可以查看:
sudo journalctl -u ssh --since today
sudo grep "Failed password" /var/log/auth.log | tail -50
Rocky Linux、AlmaLinux 和 CentOS 常见日志位置是:
sudo grep "Failed password" /var/log/secure | tail -50
还要检查成功登录记录:
last -a
出现陌生 IP 成功登录、异常用户、未知定时任务或不认识的进程时,不要只改密码。应先隔离业务、保留日志和快照,再检查系统是否已经被控制。
三、第一步先创建普通管理用户
不要长期直接使用 root 处理所有操作。以 Ubuntu 为例,可以创建新用户并加入 sudo 组:
sudo adduser vpsadmin
sudo usermod -aG sudo vpsadmin
新开一个终端,确认新用户可以登录并执行 sudo。在验证成功前,不要关闭当前 root 会话,也不要急着禁用 root 登录。
这个步骤看起来多余,却能减少误操作,也为后续关闭 root 远程登录留下退路。
四、改用SSH密钥登录
在自己的电脑生成密钥:
ssh-keygen -t ed25519
再把公钥复制到服务器:
ssh-copy-id vpsadmin@服务器IP
Windows 用户也可以使用 PowerShell 自带的 OpenSSH,或把 pub 公钥内容写入服务器用户目录下的 .ssh/authorized_keys。
权限不正确会导致密钥失效:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
先在另一个窗口测试密钥登录。确认密钥真正可用之后,才能继续关闭密码登录。
五、怎样修改sshd_config更安全?
编辑 /etc/ssh/sshd_config,根据实际情况调整:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
不同系统可能在 /etc/ssh/sshd_config.d/ 中还有覆盖配置。修改后先检查语法:
sudo sshd -t
没有输出通常表示语法通过,再平滑重载:
sudo systemctl reload ssh
| 设置 | 作用 | 操作前提 |
|---|---|---|
| 禁止root远程登录 | 降低高权限账户风险 | 普通sudo用户已验证 |
| 关闭密码登录 | 阻断密码猜测 | 密钥登录已验证 |
| 限制认证次数 | 减少单次连接尝试 | 保留控制台入口 |
| 修改SSH端口 | 减少低级扫描日志 | 防火墙已放行 |
改端口只能减少噪声,不能代替密钥和更新。攻击者仍然可以扫描其他端口。
六、要不要安装Fail2Ban?
Fail2Ban 会读取登录失败日志,在短时间内多次失败时临时封禁来源 IP。Ubuntu、Debian 可以安装:
sudo apt update
sudo apt install fail2ban
基础配置可以写入 /etc/fail2ban/jail.local,启用 sshd 规则,并根据业务设置 maxretry、findtime 和 bantime。
Fail2Ban 主要降低暴力尝试频率,它不能修复弱密码,也不能阻止已经拿到正确密钥的攻击者。密钥管理、系统更新和最小权限仍是核心。
七、防火墙和安全组怎么配合?
能固定办公 IP 时,最有效的办法是只允许自己的 IP 访问 SSH。IP 经常变化时,可以使用 VPN、堡垒机或至少限制不需要的端口。
部分云平台默认开放大多数端口,也有平台默认全部关闭。不要只改系统防火墙,还要检查控制台安全组,确认新 SSH 端口已经放行,否则重载后可能把自己锁在外面。
首次部署时还要创建快照。需要更换节点或重新搭建时,可以对比 萤光云 与 LightNode 的快照、重装和售后方式,但安全配置仍需要自己完成,不能只依赖服务商。
八、怀疑已经被入侵怎么办?
先不要反复重启或删除日志。记录异常登录 IP、进程、端口和时间,必要时从控制台断开公网,避免攻击继续。
重要业务应从可信备份恢复到全新实例,不要只在原系统上杀掉可疑进程。攻击者可能已经添加密钥、用户、定时任务或后门,表面清理干净并不代表系统可信。
常见问题
问:把SSH端口改掉就安全了吗?
答:只能减少扫描,不能替代密钥和系统更新。
问:关闭密码登录后忘带私钥怎么办?
答:通过云平台VNC或控制台恢复配置。
问:Fail2Ban会不会误封自己?
答:可能,配置白名单并保留控制台入口。
问:root可以保留本地登录吗?
答:可以,禁止远程登录不等于删除root账户。
问:SSH密钥需要定期更换吗?
答:泄露或人员变动时应立即撤销并更换。
温馨提示
SSH 加固最容易出问题的地方,不是命令不会执行,而是还没验证新登录方式就关闭旧方式。每次修改前都保留当前会话,再开一个窗口测试。
一台基础安全的 VPS,至少应做到 密钥登录、关闭root密码登录、及时更新系统、限制端口访问、保留快照和异常登录记录。

