需要帮助验证连接到子域的linux (Ubuntu)服务器。我可以在域控制器上看到服务器名,并且能够成功地运行身份验证测试,但是我无法使用域帐户登录。似乎是SSSD或KRB5配置需要指定子域的某个配置设置。此外,这也不是域信任问题,因为连接到子域的Windows服务器正在接受父帐户的凭据。
kinit -V user@DOMAIN.SYS
Authenticated to Kerberos v5
root@SERVER:/var/log/sssd# systemctl status sssd
Oct 22 17:55:09 SERVER [sssd[ldap_child[27928]: Failed to initialize credentials using keytab [MEMORY:/etc/krb5.keytab]: Client 'SERVER$@DOMAIN.SYS' not found in Kerberos database. Unable to create GSSAPI-encrypted LDAP connection.SSSD日志文件中的错误
Fri Oct 22 17:32:51 2021) [sssd[be[DOMAIN.SYS]]] [confdb_get_domain_internal] (0x0010): Unknown domain [CHILD.DOMAIN.SYS]
(Fri Oct 22 17:32:51 2021) [sssd[be[DOMAIN.SYS]]] [confdb_get_domains] (0x0010): Error (2 [No such file or directory]) retrieving domain [CHILD.DOMAIN.SYS], skipping!SSSD配置
root@SERVER:cat /etc/sssd/sssd.conf
[sssd]
services = nss, pam
config_file_version = 2
domains = DOMAIN.SYS, CHILD.DOMAIN.SYS
[nss]
default_shell = /bin/bash
[domain/DOMAIN.SYS]
id_provider = ad
access_provider = ad
override_homedir = /home/%d/%u
ad_hostname = server.child.domain.sys
#ad_server = dc.child.domain.sys
#ad_domain = DOMAIN.SYSKRB5配置
root@SERVER: cat /etc/krb5.conf
[libdefaults]
default_realm = DOMAIN.SYS
ticket_lifetime = 24h #
renew_lifetime = 7d
rdns = false
The following krb5.conf variables are only for MIT Kerberos.
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true发布于 2021-10-26 02:03:56
你是怎么建立SSSD的?你做了realm discover和realm join吗?如果没有,这是推荐的方法。我强烈建议你这么做。
您试过作为子域中的用户进行身份验证吗?*getent passwd myuser@CHILD.DOMAIN.SYS
从您提供的格式不良的信息中可以看出,sssd.conf中有两个域
[sssd]
services = nss, pam
config_file_version = 2
domains = DOMAIN.SYS, CHILD.DOMAIN.SYS
[nss]
default_shell = /bin/bash
[domain/DOMAIN.SYS]
id_provider = ad
access_provider = ad 您有[domain/CHILD.DOMAIN.SYS]的部分吗?如果您执行realm list,会发生什么?这将向您展示在sssd.conf中正确配置的内容。
我不确定是否需要在父-子域情况中列出这两个域,但可能先尝试单独配置子域。或者至少把孩子放在domains列表的第一位。
domains = CHILD.DOMAIN.SYS
...
[domain/CHILD.DOMAIN.SYS]
id_provider = ad
access_provider = ad如何对父域用户进行身份验证?您是要尝试SSH还是在服务器上尝试本地getent?是否使用完全限定的名称对父域用户进行身份验证?例如getent passwd myuser@DOMAIN.SYS
此错误表示它试图使用带有错误计算机名Client 'SERVER$@DOMAIN.SYS'的键签。如果它已加入到子域,则应该使用SERVER$@CHILD.DOMAIN.SYS。服务器密钥选项卡是否实际包含子域的正确服务器名称?
这就是为什么我建议简化这个问题,确保您可以首先使用子域凭据登录。虽然我真的认为如果不使用这种方法,您应该重新开始使用realm join。
在这里尝试遵循故障排除步骤,特别是基本、后端和公共AD提供程序部分:https://sssd.io/troubleshooting/basics.html
(顺便说一句,我真的希望你的域名后缀不是真的.SYS)
https://serverfault.com/questions/1081454
复制相似问题