之路 on it Road.com
解决方案
Windows Active Directory 域控制器被配置为域上的冗余集群,但是,一些域控制器被配置为强制执行特定的加密算法,而其他域控制器则没有。
这意味着,如果 CentOS/RHEL 客户端尝试与强制执行特定加密算法的域控制器通信,并且 Linux 客户端上的 sssd 配置为使用与域控制器配置为强制执行的加密算法不同的加密算法,则该客户端上的 sssd 将失败.
将 Windows Active Directory 域控制器和 Linux 客户端配置为使用匹配的加密算法。
要在 Linux 客户端上配置加密算法,例如在下面设置 aes256-cts 算法的示例中,请执行以下操作:
- 在对它进行任何更改之前备份/etc/krb5.conf配置文件.
cp /etc/krb5.conf /etc/krb5.conf.bak
- 将 /etc/krb5.conf 中的加密值更改为:
allow_weak_crypto = false default_tkt_enctypes = aes256-cts default_tgs_enctypes = aes256-cts permitted_enctypes = aes256-cts
- 重启sssd服务:
在 CentOS/RHEL 6 上,执行:
# service sssd restart
在 CentOS/RHEL 7 上,执行:
# systemctl restart sssd.service
要在 Windows 域控制器上配置加密算法,请联系 Windows 域控制器的系统管理员,如有必要,请联系微软作为相关软件供应商寻求帮助。
问题
CentOS/RHEL 6 客户端在 Active Directory 域中注册失败,adcli 命令随机失败,控制台输出以下错误:
Couldn't authenticate with keytab while discovering which salt to use: [SERVER$@DOMAIN_NAME]: KDC has no support for encryption type 在发现要使用哪种salt时无法使用keytab进行身份验证:[SERVER$@DOMAINNAME]:KDC不支持加密类型
以下错误同时记录到 /var/log/messages:
Nov 20 16:23:52 [hostname] [sssd[ldap_child[27134]]]: Failed to initialize credentials using keytab 无法使用keytab初始化凭据 [MEMORY:/etc/krb5.keytab]: KDC has no support for encryption type. Unable to create GSSAPI-encrypted LDAP connection. KDC不支持加密类型。无法创建GSSAPI加密的LDAP连接。 Nov 20 16:23:52 [hostname] [sssd[ldap_child[27134]]]: KDC has no support for encryption type Nov 20 16:23:53 [hostname] sssd[be[AD_DOMAIN_NAME]]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (KDC has no support for encryption type) Nov 20 16:23:53 [hostname] sssd[be[AD_DOMAIN_NAME]]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (KDC has no support for encryption type) GSSAPI错误:未指定的GSS故障。次要代码可能提供更多信息(KDC不支持加密类型)
但是,有时通过 adcli 命令注册服务器的后续尝试成功完成,而没有对 CentOS/RHEL 客户端进行任何配置更改。
日期:2020-09-17 00:12:41 来源:oir作者:oir