云服务器 SSH 安全加固实操:密钥登录 + 改端口 + fail2ban 防爆破

举报
yd_215738027 发表于 2026/10/29 09:07:57 2026/10/29
【摘要】 背景新买的云服务器(比如华为云 Flexus L 实例)一上线,/var/log/auth.log 里很快就会出现大量来自陌生 IP 的 SSH 登录尝试。弱口令被爆破是云服务器最常见的被入侵原因之一。本文按“改认证方式 → 收窄暴露面 → 自动封禁”的顺序,整理一套在 Ubuntu 22.04 上可以直接照做的 SSH 加固流程。 第一步:先看看有多少人在敲门sudo grep "Fai...

背景

新买的云服务器(比如华为云 Flexus L 实例)一上线,/var/log/auth.log 里很快就会出现大量来自陌生 IP 的 SSH 登录尝试。弱口令被爆破是云服务器最常见的被入侵原因之一。本文按“改认证方式 → 收窄暴露面 → 自动封禁”的顺序,整理一套在 Ubuntu 22.04 上可以直接照做的 SSH 加固流程。

第一步:先看看有多少人在敲门

sudo grep "Failed password" /var/log/auth.log | wc -l
sudo grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head

第一条统计失败登录次数,第二条按来源 IP 排序。如果数字很大,说明加固很有必要。

第二步:改用密钥登录

在本地电脑生成密钥(推荐 ed25519):

ssh-keygen -t ed25519 -C "my-laptop"
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@<服务器IP>

确认用密钥能登录后,再编辑服务器上的 /etc/ssh/sshd_config:

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password

注意:Ubuntu 22.04 的 /etc/ssh/sshd_config.d/ 目录下可能有云镜像自带的配置(如 50-cloud-init.conf 里写了 PasswordAuthentication yes),它会覆盖主配置,记得一起改掉。

第三步:修改默认端口

在 sshd_config 里加一行:

Port 22022

改端口前务必先在华为云控制台的安全组入方向规则里放行新端口(TCP 22022),否则重启 sshd 后会连不上。确认新端口能登录后,再把安全组里的 22 端口规则删除或限制来源 IP。

检查配置并重启:

sudo sshd -t && sudo systemctl restart ssh

sshd -t 会做语法检查,没有输出才表示正常。保持当前会话不要断开,另开一个终端测试新连接,确认无误再退出。

第四步:用 fail2ban 自动封禁

sudo apt update && sudo apt install -y fail2ban
sudo tee /etc/fail2ban/jail.local >/dev/null <<'CONF'
[sshd]
enabled  = true
port     = 22022
maxretry = 5
findtime = 10m
bantime  = 1h
CONF
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

含义是:10 分钟内失败 5 次就封禁 1 小时。status sshd 可以看到当前被封的 IP 列表。如果误封了自己,用 sudo fail2ban-client set sshd unbanip <IP> 解封。

第五步:收尾检查

  • ss -tlnp | grep ssh:确认 sshd 只监听新端口;
  • 安全组只放行必要端口,SSH 端口尽量限定为自己的公网 IP;
  • 控制台的 VNC 远程登录是最后的保底手段,万一配置写错把自己锁在门外,可以通过它进去改回来。

小结

密钥登录解决“弱口令”问题,改端口和安全组收窄暴露面,fail2ban 处理剩下的扫描流量。三步做完后再看 auth.log,失败登录记录基本会降到个位数。整个过程十几分钟,建议每台新开的云服务器都先做一遍。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。