首页/系统/信创系统运维速查/SSH 访问白名单(AllowUsers/AllowGroups)
安全加固65 条

SSH 访问白名单(AllowUsers/AllowGroups)

用 AllowUsers/AllowGroups 把登录来源收敛到指定账户与网段:白名单语义是只允许列出者,配置后按用户与来源双维度验证。

信创系统运维速查系统更新于 2026-10-13

白名单的语义

AllowUsers 与 AllowGroups 是 OpenSSH 的访问控制指令:一旦出现,未被列出的账户将被直接拒绝登录。AllowUsers 还能按『用户@来源地址』做双重限制,把登录收敛到指定网段。相比在防火墙侧做限制,它在认证层就能生效,且不依赖网络拓扑;代价是配置写错时的现象通常是『所有人突然都登不上』,因此改完必须按用户与来源两个维度验证。

基本信息

配置文件/etc/ssh/sshd_config(或 conf.d 下的包含文件)
按用户AllowUsers 用户名、AllowUsers 用户@来源
按组AllowGroups 组名
拒绝项DenyUsers、DenyGroups
条件块Match Group/User/Address 后跟块内指令
校验与生效sshd -t && systemctl reload sshd

典型使用场景

  • 把运维登录限制在管理网段内,公网只保留跳板机
  • 只允许特定账户登录生产机,杜绝共享账号
  • 对高权限账户收紧来源,普通账户不受影响
  • 批量交付时统一下发登录白名单,符合最小授权要求
  • 排查异常登录来源时确认白名单是否被绕过

配置示例

配置示例
# /etc/ssh/sshd_config
# AllowUsers deploy@10.0.0.* backup@10.0.1.5   # 用户与来源双维度限定
# AllowGroups ops admins                        # 按组放行
# DenyUsers guest                               # 显式拒绝的账户

sshd -T | grep -iE 'allowusers|allowgroups|denyusers'   # 查看最终生效值
sshd -t && systemctl reload sshd                        # 语法校验后重载

按组下的条件收敛

按组下的条件收敛
# Match 块必须放在文件靠后位置,块内指令只对匹配的会话生效
Match Group ops
    PermitRootLogin no            # 运维组成员也不允许直接登录 root
    X11Forwarding no
    AllowTcpForwarding no         # 收窄隧道能力,按业务需要决定

Match Address 10.0.0.0/8
    PasswordAuthentication no     # 内网来源也强制密钥认证

指令与效果

指令匹配维度典型现象
AllowUsers 用户账户名未列出账户登录被拒
AllowUsers 用户@地址账户与来源来源不符时即使口令正确也被拒
AllowGroups 组组成员关系账户不在组内即拒绝
DenyUsers账户名显式拒绝,优先级处理按实现
Match 块用户/组/地址/主机块内指令只对匹配会话生效
未配置任何白名单默认全部放行加固不到位,基线核查常被判不合格
白名单配置错误时的表现是全部登录被拒绝:先在测试账户与测试来源上验证,再考虑批量下发,并保留一个已登录会话作为回退通道。
Match 块之后的全局指令会被当作块内配置处理:保持 Match 放在文件后部,避免影响其他设置。

易错点

  • 用户与来源的书写格式写成『用户 空格 地址』或漏掉 @,匹配不到任何会话,全员被拒
  • 把 Match 块放在文件中间,后续原本的全局指令变成块内指令,行为与预期完全不同
  • 只配了 AllowUsers 没测试就重启 sshd,远程会话断开后再也连不上,只能走带外处理
  • 业务账户由集中认证或配置管理创建,未同步加入白名单,新账户上线即无法登录
  • 白名单只限用户不限来源,口令泄露后仍可从任意地址登录,收敛未到位

数据来源与参考

  • man 5 sshd_config(AllowUsers/Match)
  • OpenSSH 官方文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌