SSSD Kerberos AD Centos 故障排除

SSSD Kerberos AD Centos 故障排除

我遵循了 RedHat AD 集成中的配置 3(https://access.redhat.com/sites/default/files/attachments/rhel-ad-integration-deployment-guidelines-v1.5.pdf);但我被困住了。

我在 Centos 6.8 上。

我有一个有效的 AD 连接:

 service sssd stop
 rm -r /var/lib/sss/db/*
 rm -r /var/lib/sss/mc/*
 service sssd start
 getent passwd [email protected]

这将返回一行有意义的内容:

 robau:*:102201201:102200513:Rob Audenaerde:/:

但是,当我尝试通过 SSH 连接时,我无法登录。我在 中的所有组件级别 5 上启用了 SSSD 调试sssd.conf

我看到的错误(在var/log/sssd/krb5_child.log)是:

(Fri Jun 17 17:23:18 2016) [[sssd[krb5_child[3561]]]] [validate_tgt] (0x0020): TGT failed verification using key for [host/[email protected]].
(Fri Jun 17 17:23:18 2016) [[sssd[krb5_child[3561]]]] [get_and_save_tgt] (0x0020): 1240: [-1765328377][Server not found in Kerberos database]
(Fri Jun 17 17:23:18 2016) [[sssd[krb5_child[3561]]]] [map_krb5_error] (0x0020): 1301: [-1765328377][Server not found in Kerberos database]
(Fri Jun 17 17:23:18 2016) [[sssd[krb5_child[3561]]]] [k5c_send_data] (0x0200): Received error code 1432158209

该服务器位于 DNS 中,我可以使用以下方式找到它nslookup

   nslookup server-new.mynetwork.nl

   Server:  192.168.110.56
   Address: 192.168.110.56#53

   Name:    server-new.mynetwork.nl
   Address: 192.168.210.94

kvno host/[email protected]
kvno: Server not found in Kerberos database while getting credentials for host/[email protected]

有任何故障排除的提示/技巧吗?

[编辑] 我曾经authconfig设置过必要的pam内容nss

authconfig --enablesssdauth --enablesssd --enablemkhomedir --update

输出klist -kte

  25 06/20/16 10:56:24 host/[email protected] (des-cbc-crc) 
  25 06/20/16 10:56:24 host/[email protected] (des-cbc-md5) 
  25 06/20/16 10:56:24 host/[email protected] (aes128-cts-hmac-sha1-96) 
  25 06/20/16 10:56:24 host/[email protected] (aes256-cts-hmac-sha1-96) 
  25 06/20/16 10:56:24 host/[email protected] (arcfour-hmac) 
  25 06/20/16 10:56:24 host/[email protected] (des-cbc-crc) 
  25 06/20/16 10:56:24 host/[email protected] (des-cbc-md5) 
  25 06/20/16 10:56:25 host/[email protected] (aes128-cts-hmac-sha1-96) 
  25 06/20/16 10:56:25 host/[email protected] (aes256-cts-hmac-sha1-96) 
  25 06/20/16 10:56:25 host/[email protected] (arcfour-hmac) 
  25 06/20/16 10:56:25 [email protected] (des-cbc-crc) 
  25 06/20/16 10:56:25 [email protected] (des-cbc-md5) 
  25 06/20/16 10:56:25 [email protected] (aes128-cts-hmac-sha1-96) 
  25 06/20/16 10:56:25 [email protected] (aes256-cts-hmac-sha1-96) 
  25 06/20/16 10:56:26 [email protected] (arcfour-hmac)

输出klist

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]

Valid starting     Expires            Service principal
06/20/16 10:56:41  06/20/16 20:56:41  krbtgt/[email protected]
    renew until 06/27/16 10:56:41
06/20/16 11:36:07  06/20/16 20:56:41  ldap/[email protected]
    renew until 06/27/16 10:56:41

[编辑2]

如果我krb5_validate在该部分末尾添加sssd.conf[domain/mynetwork.local],那么我就可以登录。但是,我还设置了另一台不需要此步骤的服务器,所以我不愿意让它保持这样。

[编辑 3] 期间net ads join -k我收到错误/警告:

DNS Update for failed: ERROR_DNS_GSS_ERROR 
DNS update failed!

[编辑 4] 我看到的输出net ads info未使用我在配置文件中指定的主域控制器(并且是 2003R2 而不是 2008R2)。有没有办法“强制”net ads join -k使用特定的域控制器?

答案1

尝试安装并运行msktutil(可通过 EPEL 获得)。

安装:

yum -y --enablerepo=epel install msktutil

运行它:

msktutil --auto-update --server my-ad --verbose

然后运行 ​​kinit:

kinit -k server-new$

另外,您应该每隔 6 小时左右运行这两个作业。这样您的票就不会过期。

EDIT4 的答案:您应该能够使用 指定服务器net ads join -k -S,但默认情况下它会在您的 DNS 中搜索 SRV 记录。这很好。除非您不想要那样。如果您希望特定站点使用与其他站点不同的 DC,请查看 Active Directory 站点和服务。

答案2

这通常是由于规范化引起的。尝试添加:

rdns=false

到 krb5.conf 以及

SASL_NOCANON true

到 ldap.conf

(这两者在 RHEL-7 中已经是默认设置)。

相关内容