新手防慢速爆破需三步:建安全账户(deploy用户+sudo权限+allowusers白名单)、禁密码改密钥登录(pubkeyauthentication yes/passwordauthentication no)、调紧fail2ban(maxretry=3/findtime=120/bantime=86400)并配防火墙限ip和改ssh端口。

新手防慢速爆破,关键不是堵住所有尝试,而是让攻击者“试不动、试不赢、试不长”。慢速爆破(比如每分钟1–2次)专挑宽松配置钻空子,所以默认值必须全改,不能只动一两行。
先建好安全账户再动配置
别在 root 会话里直接改完就重启。先创建一个带 sudo 权限的普通用户:
- 运行
sudo useradd -m -s /bin/bash deploy创建新用户 - 设密码:
sudo passwd deploy(密码建议12位以上,含大小写字母+数字) - 赋权:
sudo usermod -aG sudo deploy(Ubuntu/Debian)或sudo usermod -aG wheel deploy(RHEL/CentOS) - 再加白名单限制:
echo "AllowUsers deploy" | sudo tee -a /etc/ssh/sshd_config
这一步做完,新开一个终端,用 deploy 用户登录成功后再关老会话——否则极易锁死自己。
禁掉密码,只留密钥登录
慢速爆破最怕没口令可试。只要 PasswordAuthentication yes 还开着,其他全是摆设。
- 编辑
/etc/ssh/sshd_config,确认以下两行存在且未注释:
PubkeyAuthentication yes
PasswordAuthentication no
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
- 把你的公钥放进
deploy用户的~/.ssh/authorized_keys(权限必须是600,目录700) - 若
ssh-copy-id失败,手动操作后执行:restorecon -Rv ~/.ssh(SELinux 系统必需) - 改完务必执行
sudo sshd -t检查语法,再sudo systemctl reload sshd
调紧 fail2ban 的响应节奏
默认的 “10分钟内错5次封1小时” 对慢速攻击完全无效——它10分钟才试6次,永远卡在阈值下。
- 编辑
/etc/fail2ban/jail.local,在[sshd]段中设:
maxretry = 3
findtime = 120
bantime = 86400
- 日志路径按系统选对:
/var/log/auth.log(Debian/Ubuntu)或/var/log/secure(RHEL/CentOS) - 启用前运行
sudo fail2ban-client status sshd确认 jail 已加载 - 实时观察封禁效果:
sudo tail -f /var/log/fail2ban.log
补一层网络层过滤
fail2ban 是日志层防御,配合防火墙能提前拦掉大量试探流量。
- 如果只允许固定IP运维,用 firewalld 直接限制:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port port="2222" protocol="tcp" accept'
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
- 端口别用22——改到 1618、2222、33891 这类高位端口,能过滤掉90%以上的扫描器
- 改端口后记得同步更新防火墙和 SELinux 策略(RHEL系需
semanage port -a -t ssh_port_t -p tcp 2222)










