
实现服务器集中身份认证服务,核心是把分散在各台机器上的用户管理收归一处,让所有服务器都信任同一个权威来源来判断“你是谁”和“你能不能进”。这不是简单配个账号密码,而是构建一套可扩展、可维护、有安全边界的认证基础设施。
选对认证协议和后端系统
协议决定能力边界,后端决定落地成本。常见组合有:
- AD域(Windows环境首选):适合已有Active Directory的企业。Linux服务器通过Winbind或SSSD加入域,登录时自动调用域控制器验证,无需本地建用户。密码策略、账户禁用、组策略全部由域控统一控制。
- LDAP + Kerberos(跨平台通用):OpenLDAP或FreeIPA作为目录服务,Kerberos提供强加密票据认证。Linux用SSSD对接,Windows可通过组策略配置加入Kerberos realm。比纯LDAP更安全,支持单点登录和委托认证。
- NIS(已不推荐):老旧方案,依赖RPC且明文传输密码,无加密、无审计、难扩展,仅适用于封闭内网小规模测试环境。
客户端统一接入配置
每台被管服务器需明确“去哪验、怎么验、验完信谁”。关键配置集中在两个文件:
-
/etc/nsswitch.conf:定义账号信息从哪查。例如
passwd: files sss表示先查本地/etc/passwd,再查SSSD服务;shadow: files sss同理处理密码验证源。 -
PAM模块配置:如
/etc/pam.d/sshd或common-auth中加载pam_succeed_if.so或pam_krb5.so,控制登录流程是否允许域用户、是否强制二次验证、是否拒绝过期账户等。
高可用与最小权限设计
集中认证一旦宕机,所有服务器登录可能中断。必须避免单点:
- 认证服务本身做集群:AD域天然支持多域控;LDAP可部署主从或使用OpenLDAP的syncrepl;FreeIPA自带高可用节点组。
- 客户端配置冗余:SSSD或Winbind支持多个服务器地址,自动故障转移;DNS SRV记录可动态分发可用认证节点。
- 保留本地应急账号:每台服务器至少保留1个本地root或admin账户,不依赖网络认证,作为断网或服务异常时的“后门”入口。
权限与生命周期同步不能只靠登录
认证只是第一步,真正影响操作的是权限。集中认证需联动授权管理:
- 利用LDAP/AD中的
memberOf或unixGroupMember属性,映射到Linux的本地group,再通过/etc/sudoers.d/按组赋权。 - 定期同步账户状态:脚本或工具(如SSSD的
cache_expiration)确保禁用账户在客户端缓存中及时失效,避免“人走了权限还在”。 - 敏感操作建议叠加MFA:SSH登录可结合PAM模块集成TOTP或FIDO2密钥,不因集中化而降低安全水位。

















