第 5 章 在 Satellite 中为活动目录用户配置 Kerberos SSO


如果 Satellite 服务器的基本系统直接连接到 Active Directory (AD),您可以将 AD 配置为 Satellite 的外部身份验证源。直接 AD 集成意味着 Linux 系统直接加入到存储身份的 AD 域。

AD 用户可以使用以下方法登录:

  • 用户名和密码
  • Kerberos 单点登录
注意

您还可以使用以下方法将 Satellite 部署连接到 AD:

通过在 Satellite 服务器上配置对应的身份验证提供程序,启用 Active Directory (AD)用户访问 Satellite。

先决条件

  • Satellite 服务器的基本系统必须加入 Active Directory (AD)域。要启用 AD 用户使用 Kerberos 单点登录,请使用系统安全服务守护进程(SSSD)和 Samba 服务将基本系统加入到 AD 域中:

    在 Satellite 服务器上安装以下软件包:

    # satellite-maintain packages install adcli krb5-workstation oddjob-mkhomedir oddjob realmd samba-winbind-clients samba-winbind samba-common-tools samba-winbind-krb5-locator sssd

    在加入 AD 域时指定所需的软件:

    # realm join AD.EXAMPLE.COM --membership-software=samba --client-software=sssd

    有关直接 AD 集成的更多信息,请参阅使用 Samba Winbind 将 RHEL 系统直接连接到 AD

流程

  1. 在 satellite-installer 需要的位置定义 AD 域配置:

    1. 创建名为 /etc/ipa/ 的目录:

      # mkdir /etc/ipa/
    2. 使用以下内容创建 /etc/ipa/default.conf 文件,为 AD 域配置 Kerberos 域:

      [global]
      realm = AD.EXAMPLE.COM
  2. 为 Kerberos 连接配置 Apache keytab:

    1. 使用以下设置更新 /etc/samba/smb.conf 文件,以配置 Samba 与 AD 交互的方式:

      [global]
      workgroup = AD.EXAMPLE
      realm = AD.EXAMPLE.COM
      kerberos method = system keytab
      security = ads
    2. 将 Kerberos 服务主体添加到 /etc/httpd/conf/http.keytab 的 keytab 文件中:

      # KRB5_KTNAME=FILE:/etc/httpd/conf/http.keytab net ads keytab add HTTP -U Administrator -s /etc/samba/smb.conf
  3. 配置系统安全服务守护进程(SSSD),以使用 AD 访问控制提供程序为 foreman PAM 服务评估和强制实施组策略对象(GPO)访问控制规则:

    1. /etc /sssd/sssd.conf 文件的 [domain/ad.example.com] 部分中,配置 ad_gpo_access_controlad_gpo_map_service 选项,如下所示:

      [domain/ad.example.com]
      ad_gpo_access_control = enforcing
      ad_gpo_map_service = +foreman

      如需有关 GPO 的更多信息,请参阅以下文档:

    2. 重启 SSSD:

      # systemctl restart sssd
  4. 启用身份验证源:

    # satellite-installer --foreman-ipa-authentication=true

验证

  • 要验证 AD 用户可以通过输入其凭据来登录到 Satellite,请通过 https://satellite.example.com 登录到 Satellite Web UI。以用户主体名称(UPN)格式输入用户名,例如: ad_user@AD.EXAMPLE.COM
  • 使用 Kerberos 单点登录验证 AD 用户是否可以进行身份验证:

    • 代表 AD 用户获得 Kerberos 票据授予票据(TGT):

      $ kinit ad_user@AD.EXAMPLE.COM
    • 使用您的 TGT 验证用户身份验证:

      $ curl -k -u : --negotiate https://satellite.example.com/users/extlogin
      
      <html><body>You are being <a href="satellite.example.com/hosts">redirected</a>.</body></html>

故障排除

  • 连接到 AD LDAP 有时可能会失败,并显示以下错误,如下所示:

    Authentication failed with status code: {
      "error": { "message": "ERF77-7629 [Foreman::LdapException]: Error while connecting to 'server.com' LDAP server at 'ldap.example.com' during authentication ([Net::LDAP::Error]: Connection reset by peer - SSL_connect)" } }

    如果您看到这个错误,请验证哪个密码用于连接:

    # openssl s_client -connect ldap.example.com:636

    如果使用 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 密码,请在 Satellite 服务器端或 AD 端禁用它。TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 密码已知会导致不兼容。

    如需更多信息,请参阅红帽知识库解决方案 API 调用 Red Hat Satellite 6 在 LDAP 身份验证中失败

其他资源

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部