5.2. 为 RHEL 主机配置受管服务帐户


这个过程从 lab.example.com Active Directory(AD)域为主机创建受管服务帐户(MSA),并配置 SSSD,以便您可以访问 production.example.com AD 域并进行身份验证。

注意

如果您需要从 RHEL 主机访问 AD 资源,红帽建议您使用 realm 命令将 RHEL 主机加入到 AD 域中。请参阅使用 SSSD 将 RHEL 系统直接连接到 AD

只有在满足以下条件之一时才执行这个步骤:

  • 您不能将 RHEL 主机加入到 AD 域中,您希望在 AD 中为该主机创建帐户。
  • 您已将 RHEL 主机加入到 AD 域,且您需要访问您加入的域的主机凭证无效,例如:有一个单向信任。

先决条件

  • 确保 RHEL 主机上的以下端口已为 AD 域控制器打开并可以被访问。

    服务端口协议

    DNS

    53

    TCP, UDP

    LDAP

    389

    TCP, UDP

    LDAPS(可选)

    636

    TCP, UDP

    Kerberos

    88

    TCP, UDP

  • 您有在 production.example.com 域中创建 MSA 的 AD Administrator 的密码。
  • 您有运行 adcli 命令以及修改 /etc/sssd/sssd.conf 配置文件所需的 root 权限。
  • (可选) 您已安装了 krb5-workstation 软件包,其中包括 klist 诊断实用程序。

流程

  1. production.example.com AD 域中为主机创建 MSA。

    [root@client ~]# adcli create-msa --domain=production.example.com
  2. 显示创建的 Kerberos keytab 中 MSA 的信息。记录 MSA 名称:

    [root@client ~]# klist -k /etc/krb5.keytab.production.example.com
    Keytab name: FILE:/etc/krb5.keytab.production.example.com
    KVNO Principal
    ---- ------------------------------------------------------------
       2 CLIENT!S3A$@PRODUCTION.EXAMPLE.COM (aes256-cts-hmac-sha1-96)
       2 CLIENT!S3A$@PRODUCTION.EXAMPLE.COM (aes128-cts-hmac-sha1-96)
  3. 打开 /etc/sssd/sssd.conf 文件并选择要添加的适当 SSSD 域配置:

    • 如果 MSA 对应于一个来自不同林的 AD 域,请创建一个名为 [domain/<name_of_domain>] 的新域部分,然后输入有关 MSA 和 keytab 的信息。最重要的选项为 ldap_sasl_authid,ldap_krb5_keytab, 和 krb5_keytab:

      [domain/production.example.com]
      ldap_sasl_authid = CLIENT!S3A$@PRODUCTION.EXAMPLE.COM
      ldap_krb5_keytab = /etc/krb5.keytab.production.example.com
      krb5_keytab = /etc/krb5.keytab.production.example.com
      ad_domain = production.example.com
      krb5_realm = PRODUCTION.EXAMPLE.COM
      access_provider = ad
      ...
    • 如果 MSA 对应于一个来自本地林的 AD 域,请使用 [domain/root.example.com/sub-domain.example.com] 格式创建一个新的子域部分,然后输入有关 MSA 和 keytab 的信息。最重要的选项为 ldap_sasl_authid,ldap_krb5_keytab, 和 krb5_keytab:

      [domain/ad.example.com/production.example.com]
      ldap_sasl_authid = CLIENT!S3A$@PRODUCTION.EXAMPLE.COM
      ldap_krb5_keytab = /etc/krb5.keytab.production.example.com
      krb5_keytab = /etc/krb5.keytab.production.example.com
      ad_domain = production.example.com
      krb5_realm = PRODUCTION.EXAMPLE.COM
      access_provider = ad
      ...

验证

  • 验证您可以检索一个 Kerberos ticket-granting ticket(TGT)作为 MSA:

    [root@client ~]# kinit -k -t /etc/krb5.keytab.production.example.com 'CLIENT!S3A$'
    [root@client ~]# klist
    Ticket cache: KCM:0:54655
    Default principal: CLIENT!S3A$@PRODUCTION.EXAMPLE.COM
    
    Valid starting       Expires              Service principal
    11/22/2021 15:48:03  11/23/2021 15:48:03  krbtgt/PRODUCTION.EXAMPLE.COM@PRODUCTION.EXAMPLE.COM
  • 在 AD 中,验证您在 Managed Service Accounts Organizational units (OU) 中的具有主机的 MSA。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.