我遵循了 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 连接时,我无法登录。我在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]
如果我在 [domain/mynetwork.local] 部分krb5_validate
的末尾添加,sssd.conf
那么我可以登录。但是,我还设置了另一个不需要这一步的服务器,所以我不愿意这样。
[编辑 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
使用特定的域控制器?
尝试安装并运行
msktutil
(可通过 EPEL 获得)。安装:
要运行它:
然后运行 kinit :
此外,您应该 cron 这两个作业每 6 小时左右运行一次。这样你的票就不会过期。
对 EDIT4 的回答:您应该能够使用 指定服务器
net ads join -k -S
,但默认情况下,它将在您的 DNS 中搜索 SRV 记录。这很好。除非你不想那样。如果您希望特定站点使用与另一个不同的 DC,请查看 Active Directory 站点和服务。这通常是由规范化引起的。尝试添加:
到 krb5.conf 以及
到 ldap.conf
(两者都已经是 RHEL-7 中的默认设置)。