10 块钱 VPS 开机先守好 SSH:评测机一天被猜密码 5514 次,装 fail2ban 只占 37MB

买了一台年付十来美元的小 VPS,开机后第一件该做的事不是装面板,而是把 SSH 登录守好。我们拿本站那台 DediRock 洛杉矶评测机(1 核 / 2GB / 30G SSD)翻了一遍系统日志:从 2026 年 11 月 12 日 09:50 到 13 日 09:50(北京时间)这 24 小时里,有 53 个 IP 一共猜了 5514 次 SSH 密码。这不是 DediRock 的问题,公网上任何一台新机器都会遇到;好消息是,花一分钟装上 fail2ban、再换成密钥登录,这些扫描基本就和你无关了。
先说结论
- 扫描是常态:这台机器 7 天(11/6–11/12,按 UTC 自然日)累计 34589 次密码失败,日均约 4941 次;同一天里每小时从几十次到 580 次不等。
- 大头是少数几个 IP:24 小时里最勤快的 5 个 IP 贡献了 2644 次,接近一半;单个 IP 最多猜了 575 次。
- root 是头号目标:5514 次里有 2407 次直接猜 root,另外 3099 次猜的是不存在的用户名,一共试了 575 个不同的名字,排前面的是 admin、ubuntu、user、test、oracle、mysql、git。
- fail2ban 很轻、立竿见影:Ubuntu 软件源安装约 32 秒,常驻内存约 37MB;启动后约 17 分钟内自动封了 4 个 IP,这段时间日志里的密码失败只有 10 次(来自 4 个 IP)。
- 最稳的做法是密钥登录:fail2ban 只是减少骚扰,真正让猜密码失去意义的是关掉密码登录、只用 SSH 密钥。
测试环境
| 项目 | 内容 |
|---|---|
| 机器 | DediRock 洛杉矶 Promo VPS Special LA(已缺货),1 vCore / 2GB RAM / 30GB SSD |
| 系统 | Ubuntu 24.04,KVM,SSH 默认 22 端口,系统镜像默认允许密码登录 |
| 数据来源 | sshd 系统日志(journalctl -u ssh),统计 Failed password 与 Invalid user 记录 |
| 统计时段 | 24 小时:2026-11-12 09:50 至 11-13 09:50(北京时间);7 天:11/6–11/12(UTC 自然日) |
| fail2ban | 1.0.2(Ubuntu 软件源),2026-11-13 09:52 启用,观察到 10:09(北京时间) |
实测一:一台新机器每天被猜多少次密码

图源:本站评测机 sshd 日志统计
每天少则两千多次、多则六千七百多次,波动主要看当天有没有“勤快”的扫描器盯上。24 小时窗口里一共 5514 次密码失败,背后只有 53 个 IP,说明这类流量大多是少数自动化脚本在反复尝试,而不是很多人在针对你。
它们猜的名字也很有代表性:除了 root,排在前面的是 admin(213 次)、ubuntu(164 次)、user(79 次)、test(40 次)、oracle(38 次)、deploy(34 次)、ftpuser(33 次)、mysql 和 git(各 32 次)。如果你习惯建一个叫 admin 或 test 的用户再配个简单密码,这正是脚本最先试的组合。
这台评测机的 root 登录我们一直用自己的 SSH 密钥。日志里仅有的 3 次密码登录成功都在开通当天,来自我们自己的管理机(这两个 IP 随后都改用密钥登录,从没出现过失败记录),扫描脚本没有一次猜中。
实测二:装上 fail2ban 之后
fail2ban 的原理很简单:盯着 SSH 日志,同一个 IP 在一段时间内失败太多次,就用防火墙把它挡一阵子。我们用的规则是 10 分钟内失败 5 次就封 1 小时,并把自己的管理机 IP 加进白名单,免得手滑把自己关在门外。
| 项目 | 实测结果 |
|---|---|
| 安装耗时 | 约 32 秒(含 apt 更新软件源) |
| 常驻内存 | 约 37MB,整机仍有约 1.6GB 可用 |
| 启用后约 17 分钟 | 累计封禁 4 个 IP;期间密码失败 10 次,来自 4 个 IP |
| 对照 | 前一天同一时段的密码失败是 60 次;不过每小时的扫描量本来就从几十到几百次波动,这个对照只能当参考 |
对 1 核 2G 的小机器来说,37MB 的开销几乎可以忽略,换来的是日志清爽很多,CPU 也不用一直陪扫描器“对答”。
照着做:开机十分钟守好 SSH
下面是 Ubuntu / Debian 上的做法,按顺序来就行:
- 先建密钥:在自己电脑上运行
ssh-keygen -t ed25519,再用ssh-copy-id root@你的IP把公钥传上去,确认能用密钥登录。 - 装 fail2ban:
apt-get update && apt-get install -y fail2ban,然后新建/etc/fail2ban/jail.d/sshd.local,写入[sshd]、enabled = true、backend = systemd、maxretry = 5、findtime = 10m、bantime = 1h,有固定 IP 的再加一行ignoreip = 你的IP。 - 启动并查看:
systemctl enable --now fail2ban,过一会儿用fail2ban-client status sshd看封了多少个 IP。 - 关掉密码登录:确认密钥能登录后,把
/etc/ssh/sshd_config和/etc/ssh/sshd_config.d/下的PasswordAuthentication改成no(很多云镜像在50-cloud-init.conf里写了 yes,记得一起改),再systemctl restart ssh。改之前另开一个终端保持登录,万一配置写错还能改回来。 - 换端口可选:把 22 换成别的端口能让日志安静不少,但它只是减少噪音,不能代替密钥登录。
我们这台评测机目前只装了 fail2ban,没有改端口;它同时在跑本站的可用性监测,SSH 只给我们自己的密钥用。
这台 10 块钱的机器适合谁
守好 SSH 之后,这类年付十来美元的洛杉矶小鸡就很省心了:放个人博客、跑监控探针、做异地备份或者当练手的 Linux 机器都合适。我们在同一台评测机上做过 10 块钱 VPS 能干什么、Docker 搭 WordPress 和 restic 异地备份 的实测,三网延迟可以看 洛杉矶 VPS 回国延迟同场对比。
现在在售的同规格是 DediRock Promo VPS Star LA:1 核 / 2GB / 30G,年付 $11.88(2026-11-06 官网订购页价格,以结账页为准);纽约的 Star NY 同配置 $10.88/年。想多比几家,可以看 年付 10 美元档洛杉矶 VPS 横评 和 黑五/双11 VPS 优惠汇总。
微信扫一扫,打开后点右上角转发