Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

16.4. 检索多个服务器的现有 keytab

在某些情况下,如在集群环境中,不同机器在一个通用主机名上代表的服务需要相同的 keytab 文件。IdM 命令可用于检索每个主机上的同一 keytab。
要准备通用主机名和服务主体,请在 IdM 服务器上运行以下命令:
  1. admin 用户身份进行身份验证:
    [root@ipaserver ~]# kinit admin
  2. 为共享此主机名的所有 IP 地址添加通用的转发 DNS 记录:
    [root@ipaserver ~]# ipa dnsrecord-add idm.example.com cluster --a-rec={192.0.2.40,192.0.2.41}
      Record name: cluster
        A record: 192.0.2.40, 192.0.2.41
  3. 为通用 DNS 名称创建新主机条目对象:
    [root@ipaserver ~]# ipa host-add cluster.idm.example.com
    ------------------------------------
    Added host "cluster.idm.example.com"
    ------------------------------------
      Host name: cluster.idm.example.com
      Principal name: host/cluster.idm.example.com@IDM.EXAMPLE.COM
      Password: False
      Keytab: False
      Managed by: cluster.idm.example.com
  4. 为主机添加服务主体:
    [root@ipaserver ~]# ipa service-add HTTP/cluster.idm.example.com
    ------------------------------------------------------------
    Added service "HTTP/cluster.idm.example.com@IDM.EXAMPLE.COM"
    ------------------------------------------------------------
      Principal: HTTP/cluster.idm.example.com@IDM.EXAMPLE.COM
      Managed by: cluster.idm.example.com
  5. 将主机添加到服务中,该服务应该可以从 IdM 检索 keytab:
    [root@ipaserver ~]# ipa service-allow-retrieve-keytab HTTP/cluster.idm.example.com --hosts={node01.idm.example.com,node02.idm.example.com}
      Principal: HTTP/cluster.idm.example.com@IDM.EXAMPLE.COM
      Managed by: cluster.idm.example.com
      Hosts allowed to retrieve keytab: node01.idm.example.com, node02.idm.example.com
    -------------------------
    Number of members added 2
    -------------------------
  6. 向一个主机授予创建新 keytab 的权限:
    [root@ipaserver ~]# ipa service-allow-create-keytab HTTP/cluster.idm.example.com --hosts=node01.idm.example.com
    Principal: HTTP/cluster.idm.example.com@IDM.EXAMPLE.COM
    Managed by: cluster.idm.example.com
    Hosts allowed to retrieve keytab: node01.idm.example.com, node02.idm.example.com
    Hosts allowed to create keytab: node01.idm.example.com
    -------------------------
    Number of members added 1
    -------------------------
在客户端中,按照以下步骤执行:
  1. 使用主机 Kerberos keytab 进行身份验证:
    # kinit -kt /etc/krb5.keytab
    1. 在您授予相应权限的客户端中,生成新的 keytab 并将其存储在文件中:
      [root@node01 ~]# ipa-getkeytab -s ipaserver.idm.example.com -p HTTP/cluster.idm.example.com -k /tmp/client.keytab
    2. 在所有其他客户端中,通过向命令添加 -r 选项,从 IdM 服务器检索现有的 keytab:
      [root@node02 ~]# ipa-getkeytab -r -s ipaserver.idm.example.com -p HTTP/cluster.idm.example.com -k /tmp/client.keytab
      警告
      请注意,如果省略 -r 选项,将生成一个新 keytab。这会使之前检索到的所有 keytab 无效。