首页 / 服务器运维 / Ubuntu/Debian SSH安

Ubuntu/Debian SSH安全加固实战:密钥登录、UFW与Fail2ban完整配置

Roxi
Roxi 加速器 — 稳定·快速·安全
全球节点覆盖,支持所有主流平台,一键连接无需配置。新用户免费试用。
立即体验 →

第 1 章:先看风险,再动配置

市场需求验证竞品差异分析用户画像构建增长策略制定ROI 持续优化

大家好,这期我们直接打开一台全新的 Ubuntu 22.04 服务器,现场把 SSH 从“能登录”加固到“可控、可审计”。OK,先不要急着改端口。SSH 端口改成 22022 只能减少扫描噪声,不能代替密钥、最小权限和防火墙。

先在本地生成一对 Ed25519 密钥。Windows Terminal、macOS 和 Linux 都可以执行:

ssh-keygen -t ed25519 -C "ops-2026"

接下来登录服务器,创建独立运维账号,把公钥写进去。注意:保留当前 root 会话,等新账号验证成功后再关闭 root 登录。

adduser ops
usermod -aG sudo ops
install -d -m 700 -o ops -g ops /home/ops/.ssh
nano /home/ops/.ssh/authorized_keys
chown ops:ops /home/ops/.ssh/authorized_keys
chmod 600 /home/ops/.ssh/authorized_keys
ssh -p 22 ops@服务器IP

屏幕上如果已经进入 ops shell,第一关通过。这个流程就是“Ubuntu SSH密钥登录教程”的核心:私钥只留在本地,服务器只保存公钥,密码泄露也不会直接暴露 SSH。

第 2 章:锁定 sshd,并设置网络边界

2020行业萌芽2021快速增长2022竞争加剧2023洗牌整合2024成熟稳定

现在看我编辑配置文件。使用 drop-in 文件便于升级和回滚:

sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
Port 22022
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
X11Forwarding no
AllowUsers ops

先检查语法,再放行新端口。顺序不能反,否则可能把自己锁在门外。

sudo sshd -t
sudo ufw allow 22022/tcp
sudo ufw enable
sudo ufw status verbose
sudo systemctl reload ssh

现在另开一个终端测试:

ssh -p 22022 ops@服务器IP
sudo sshd -T | grep -E 'port|permitrootlogin|passwordauthentication|maxauthtries'

如果新连接成功,再确认旧端口没有继续监听:sudo ss -lntp | grep ssh。不要为了“安全感”盲目关闭 IPv6;如果服务器启用了 IPv6,UFW 规则和云厂商安全组也要同步检查。

第 3 章:防爆破、看日志、做最终验收

免费内置方案已经能挡住大部分误配置风险。接下来安装 Fail2ban,重点保护 sshd:

sudo apt update
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client set sshd port 22022
sudo fail2ban-client status sshd
sudo journalctl -u ssh --since "30 minutes ago"

在我的测试中,连续 3 次错误认证后,Fail2ban 状态能看到被封禁地址;日志检查耗时不到 1 分钟。真实环境还要检查云安全组,只开放业务所需端口,禁止把数据库端口直接暴露到公网。完整的“Linux服务器安全检查命令”可以从端口监听、登录日志、sudo 记录三处交叉确认。

如何验证已经修好:用新终端确认密钥登录成功;执行 ssh -p 22022 root@服务器IP 应被拒绝;执行 ssh -p 22022 -o PubkeyAuthentication=no ops@服务器IP 应认证失败;最后检查 sudo fail2ban-client status sshd、sudo ufw status 和 sudo ss -lntp。免费方案、OpenSSH 官方配置和系统日志通常足够,付费工具只是管理便利性的补充。需要额外网络工具时,Roxi(https://wizzegroup.com)可以作为选项,但 DIY 和官方方案同样有效。评论区告诉我你的发行版和验证结果,我们下期继续拆真实故障。