最新下载
热门教程
- 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 不匹配)
相关文章
- 怎样开启phpStudy服务器 09-22
- 三分钟掌握PHP操作数据库 09-22
- Binance Windows 11 客户端怎么下载和安装? 09-22
- Binance Mac 版在哪里下载?桌面端安装步骤 09-22
- 币安电脑版官方下载教程:Windows 与 macOS 安装方法 09-22
- Binance App Download:Android、iPhone 和 PC 版本说明 09-22