SSSD Kerberos AD Centos故障排除

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

我在Centos 6.8上。

我有一个工作广告连接:

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进行连接时,我无法login。 我在sssd.conf中的所有组件级别5上启用了SSSDdebugging。

我看到的错误(在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中,我可以使用nslookupfind它

  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来设置必要的pamnss东西:

 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_validatesssd.conf部分[domain / mynetwork.local]的末尾,那么我就可以login。 不过,我也build立了另外一台不需要这个步骤的服务器,所以我不愿意这样离开它。

[编辑3]在net ads join -k我得到一个错误/警告:

 DNS Update for failed: ERROR_DNS_GSS_ERROR DNS update failed! 

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

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

安装:

 yum -y --enablerepo=epel install msktutil 

运行它:

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

然后运行一个kinit:

 kinit -k server-new$ 

此外,你应该把这两个工作每六小时左右运行一次。 这样你的门票不会过期。

回答编辑4:你应该能够指定一个net ads join -k -S的服务器,但默认情况下,它会search您的DNS的SRVlogging。 这很好。 除非你不想要那个 如果您希望特定站点使用不同于其他站点的DC,请查看Active Directory站点和服务。

这通常是由标准化引起的。 尝试添加:

 rdns=false 

到krb5.conf也是如此

 SASL_NOCANON true 

到ldap.conf

(两者在RHEL-7中都是默认的)。