SSSD-在 Kerberos 数据库中未找到服务器

SSSD-在 Kerberos 数据库中未找到服务器

我一直在尝试在 CentOS 7 机器上设置 SSSD,以便加入 Windows AD 进行用户管理。

我已设法使 Kerberos 独立于此设置运行,使用 LDAPS 作为传输协议。我还已使用 realm join 成功将计算机加入域。

这样就自动配置了sssd.conf,但是启动sssd之后发现后端启动失败。

我在日志中看到的唯一相关内容是:

(Thu Mar 21 19:45:43 2019) [sssd[be[SERC.LOCAL]]] [sasl_bind_send] (0x0080): Extended failure message: [SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Server not found in Kerberos database)]

我已经验证了相关机器上的 Kerberos rdns 已禁用。我还确保相关服务器存在于域中。两台机器上的时间也同步。

从域控制器获取服务器帐户的 TGT 似乎没有任何问题,尽管唯一的服务器端验证是 4768 事件,该事件似乎失败了。SSSD 日志表明它成功了,但是:

(Fri Mar 22 01:29:44 2019) [[sssd[ldap_child[13180]]]] [ldap_child_get_tgt_sync] (0x2000): credentials initialized
(Fri Mar 22 01:29:44 2019) [[sssd[ldap_child[13180]]]] [ldap_child_get_tgt_sync] (0x2000): keytab ccname: [FILE:/var/lib/sss/db/ccache_MYDOMAIN.LOCAL_TUJGh8]
(Fri Mar 22 01:29:44 2019) [[sssd[ldap_child[13180]]]] [sss_child_krb5_trace_cb] (0x4000): [13180] 1553178584.546015: Initializing FILE:/var/lib/sss/db/ccache_MYDOMAIN.LOCAL_TUJGh8 with default princ [email protected]

(Fri Mar 22 01:29:44 2019) [[sssd[ldap_child[13180]]]] [sss_child_krb5_trace_cb] (0x4000): [13180] 1553178584.546016: Storing [email protected] -> krbtgt/[email protected] in FILE:/var/lib/sss/db/ccache_MYDOMAIN.LOCAL_TUJGh8

(Fri Mar 22 01:29:44 2019) [[sssd[ldap_child[13180]]]] [ldap_child_get_tgt_sync] (0x2000): credentials stored
(Fri Mar 22 01:29:44 2019) [[sssd[ldap_child[13180]]]] [ldap_child_get_tgt_sync] (0x2000): Got KDC time offset

在我看来,这似乎是 TLS 问题。为 AD 配置 sssd 似乎强制使用端口 389,并使用 GSSAPI 进行加密。我尝试设置 ldap_uri 以使用 ldaps 明确连接,但这会被忽略,除非我将配置恢复为使用 ldap 进行所有操作,这样可以正常工作,但无法识别 AD 架构。

我不确定这里还能尝试什么。在线解决方案都指向 DNS 问题,但我确定 DNS 配置正确。

如果有帮助的话,SSSD 配置(其中一些是为了让 ldap 运行而添加的,因此可能有一些残留选项):

    [domain/MY_DOMAIN.LOCAL]
debug_level=10
# enumerate = true                                                                                                                                                                                                                
 ad_hostname = SOME_COMPUTER.F.Q.D.N
 ad_server = DOMAIN_CONTROLLER

 ad_domain = MY_DOMAIN.LOCAL
 auth_provider = ad
 chpass_provider = ad
 access_provider = ad
 ldap_uri = ldaps://DOMAIN_CONTROLLER:636
 ldap_tls_cacert = /etc/openldap/certs/mycert.cer
 ldap_sasl_authid=SOME_COMPUTER$@MY_DOMAIN.LOCAL
 ldap_sasl_canonicalize = false
 ldap_schema = ad
# #krb5_realm = MY_DOMAIN.LOCAL                                                                                                                                                                                                        
 realmd_tags = manages-system joined-with-adcli
 cache_credentials = True
 id_provider = ad
# #krb5_store_password_if_offline = True                                                                                                                                                                                          
 default_shell = /bin/bash
 ldap_id_mapping = True
 use_fully_qualified_names = False
 fallback_homedir = /home/%u
 access_provider = ldap
 ldap_schema = rfc2307bis

提前致谢。

相关内容