我遇到了将 Linux 服务器加入 Active Directory 域时自动创建的密钥表条目的问题。首先说一下我的流程:
- 安装所需的 Linux 软件包
yum install realmd pam sssd adcli oddjob oddjob-mkhomedir samba-common-tools krb5-workstation
- 在 Active Directory 中创建计算机对象并添加相关 SPN 条目 (servicePrincipalName)
- 执行域加入
realm join -v EXAMPLE.COM -U domainUser
在加入过程中,该过程会自动创建一个 krb5.keytab 文件,其中的条目与计算机对象的 SPN 条目直接匹配。因此,如果 SPN 具有[email protected]条目,则加入过程会创建[email protected]密钥表条目。 问题是,如果 SPN 的名称中包含大写的服务类型,则密钥表生成过程不会考虑服务类型的大小写,而是强制密钥表条目具有小写的服务类型。因此,如果 SPN 为HTTP /Se [email protected],则密钥表生成器会强制其为http / [email protected],在域加入过程中。为了使我正在使用的应用程序正常工作,这些需要匹配(均为大写)。
我的目标是拥有一个与 SPN(大写服务类型)匹配的密钥表条目,据我所知,我有两个选择
- 修复
realm join
流程以保持服务类型的大小写相同,或者 - 在 keytab 文件中创建我自己的 keytab 条目
我对这两个选项都有问题。对于第一个选项,我找不到任何可以更改的加入过程。对于第二个选项,我找到了两个可以使用的应用程序来创建我自己的条目。这些应用程序是 kadmin 和 ktutil。kadmin 给我一个错误“所需的 KADM5 主体缺失...”(我不知道如何修复)。ktutil 选项也可以使用,只不过它需要将相同的密码应用于这个新的 keytab 条目,该密码由其他 keytab 条目使用;但是,该密码由 Active Directory 管理,无法获取。
有没有其他人以前遇到过这个问题,并有关于如何将密钥表条目的服务类型保持大写的解决方案?
谢谢!