最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux SSH 防御:设定 SSH 用户登录黑名单策略
时间:2026-07-13 08:38:47 编辑:袖梨 来源:一聚教程网
配置 SSH 用户登录黑名单需在 /etc/ssh/sshd_config 中使用 DenyUsers 指令(复数形式),支持空格分隔多用户及 username@ip/CIDR 格式限定来源,优先级高于 AllowUsers,配置后须 sshd -t 验证并 systemctl restart sshd 生效。
配置 SSH 用户登录黑名单,核心是用 DenyUsers 指令在 /etc/ssh/sshd_config 中明确禁止特定用户通过 SSH 登录。它不替代白名单,而是精准阻断已知风险账户(如测试账号、离职人员账号、默认账户),且不影响其本地或服务调用行为。
正确写入 DenyUsers 规则
编辑 /etc/ssh/sshd_config,在任意非注释行添加:
- 语法必须是
DenyUsers(注意复数 s),不能拼成DenyUser - 多个用户名用空格分隔,例如:
DenyUsers guest testuser daemon - 支持限定来源 IP,格式为
username@ip或[email protected].*,也可用 CIDR(如[email protected]/8) - 切勿写在以
#开头的注释行之后——配置不会生效
理解优先级与冲突规避
SSH 访问控制按固定顺序判断:先查 DenyUsers,命中即拒绝,不再继续;未被拒绝的,再看是否在 AllowUsers 中。因此:
- 若一个用户同时出现在
DenyUsers和AllowUsers中,仍会被拒绝 - 如果启用了
AllowUsers白名单,未列入的用户本就无法登录,此时DenyUsers对他们无实际作用 - 真正需要
DenyUsers的场景,通常是未启用白名单、但需快速封禁个别高危账号时
生效前必须验证与重启
配置保存后不能直接生效,必须完成两步:
- 先做语法检查:
sudo sshd -t,输出Config test was successful才表示无误 - 然后执行
sudo systemctl restart sshd(不是 reload)——部分旧版 OpenSSH 的 reload 不重载用户控制策略 - 切忌在当前 SSH 会话中执行 restart,否则可能被踢出;务必保留本地终端、VNC 或另一管理员连接
配合日志确认拦截效果
启用后可通过日志验证是否生效:
- 查看拒绝记录:
sudo journalctl -u sshd | grep "not allowed because of DenyUsers"或搜索refused、denied - 常见错误提示包括:
User user1 from 192.168.1.5 not allowed because listed in DenyUsers - 若没看到对应日志,说明配置未加载或用户未触发匹配(比如输错用户名、IP 不匹配)
相关文章
- 崩坏因缘精灵海游龙召唤条件说明 07-22
- 尽管工作室已关闭:Wreckreation 2 仍正式公布:距离前作发布仅九个月 07-22
- 率土之滨武将强度排行 率土之滨武将开荒搭配攻略表 07-22
- 挖掘者米娜怎样召唤伙伴成就攻略分享 07-22
- 仙灵物语最强阵容搭配攻略:仙灵物语高战力阵容推荐与实战解析 07-22
- 天堂2盟约怎么升级快:天堂2盟约快速升级技巧与高效练级指南 07-22