用心打造
VPS知识分享网站

云服务器被暴力扫描怎么办?手把手教你SSH安全加固

新买的云服务器只要开放 SSH 端口,很快就会在日志里看到来自不同 IP 的登录尝试。哪怕网站还没上线,自动扫描器也可能已经开始测试 root、admin 和常见弱密码。

看到几百次失败登录不代表服务器已经被入侵,但一直使用 root 加简单密码,风险确实很高。我处理服务器时,更关注的是先把登录方式改安全,再考虑封禁扫描 IP,而不是每天手动看日志。

云服务器SSH安全加固示意图

今天这篇文章就来讲讲,怎么判断 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密码登录、及时更新系统、限制端口访问、保留快照和异常登录记录

赞(0)
未经允许不得转载;国外VPS测评网 » 云服务器被暴力扫描怎么办?手把手教你SSH安全加固
分享到