Я следил за конфигурацией 3 из интеграции RedHat AD (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 robau@MYNETWORK.LOCAL
Это возвращает разумную строку:
robau:*:102201201:102200513:Rob Audenaerde:/:
Однако, когда я пытаюсь подключиться через SSH, я не могу войти в систему. Я включил отладку SSSD для всех компонентов уровня 5 в 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/server-new.mynetwork.nl@MYNETWORK.LOCAL].
(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/server-new.mynetwork.nl@MYNETWORK.LOCAL
kvno: Server not found in Kerberos database while getting credentials for host/server-new.mynetwork.nl@MYNETWORK.LOCAL
Какие-нибудь подсказки / советы по устранению неполадок?
[EDIT] Я использовал authconfig
установить необходимые pam
и nss
материал:
authconfig --enablesssdauth --enablesssd --enablemkhomedir --update
Выход klist -kte
:
25 06/20/16 10:56:24 host/server-new.mynetwork.nl@MYNETWORK.LOCAL (des-cbc-crc)
25 06/20/16 10:56:24 host/server-new.mynetwork.nl@MYNETWORK.LOCAL (des-cbc-md5)
25 06/20/16 10:56:24 host/server-new.mynetwork.nl@MYNETWORK.LOCAL (aes128-cts-hmac-sha1-96)
25 06/20/16 10:56:24 host/server-new.mynetwork.nl@MYNETWORK.LOCAL (aes256-cts-hmac-sha1-96)
25 06/20/16 10:56:24 host/server-new.mynetwork.nl@MYNETWORK.LOCAL (arcfour-hmac)
25 06/20/16 10:56:24 host/server-new@MYNETWORK.LOCAL (des-cbc-crc)
25 06/20/16 10:56:24 host/server-new@MYNETWORK.LOCAL (des-cbc-md5)
25 06/20/16 10:56:25 host/server-new@MYNETWORK.LOCAL (aes128-cts-hmac-sha1-96)
25 06/20/16 10:56:25 host/server-new@MYNETWORK.LOCAL (aes256-cts-hmac-sha1-96)
25 06/20/16 10:56:25 host/server-new@MYNETWORK.LOCAL (arcfour-hmac)
25 06/20/16 10:56:25 SERVER-NEW$@MYNETWORK.LOCAL (des-cbc-crc)
25 06/20/16 10:56:25 SERVER-NEW$@MYNETWORK.LOCAL (des-cbc-md5)
25 06/20/16 10:56:25 SERVER-NEW$@MYNETWORK.LOCAL (aes128-cts-hmac-sha1-96)
25 06/20/16 10:56:25 SERVER-NEW$@MYNETWORK.LOCAL (aes256-cts-hmac-sha1-96)
25 06/20/16 10:56:26 SERVER-NEW$@MYNETWORK.LOCAL (arcfour-hmac)
Выход klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: SERVER-NEW$@MYNETWORK.LOCAL
Valid starting Expires Service principal
06/20/16 10:56:41 06/20/16 20:56:41 krbtgt/MYNETWORK.LOCAL@MYNETWORK.LOCAL
renew until 06/27/16 10:56:41
06/20/16 11:36:07 06/20/16 20:56:41 ldap/my-ad.mynetwork.local@MYNETWORK.LOCAL
renew until 06/27/16 10:56:41
[РЕДАКТИРОВАТЬ 2]
Если я добавлю krb5_validate
в конце sssd.conf
раздел [домен / 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
использовать конкретный контроллер домена?
Обычно это вызвано канонизацией. Попробуйте добавить:
rdns=false
в krb5.conf, а также
SASL_NOCANON true
в ldap.conf
(оба уже используются по умолчанию в RHEL-7).
Попробуйте установить и запустить msktutil
(доступен через EPEL).
Установить:
yum -y --enablerepo=epel install msktutil
Чтобы запустить его:
msktutil --auto-update --server my-ad --verbose
И после этого запустить кинит:
kinit -k server-new$
Кроме того, вы должны запустить эти два задания каждые 6 часов или около того. Таким образом, ваши билеты не истекают.
Ответ на EDIT4: вы должны указать сервер с net ads join -k -S
, но по умолчанию он будет искать в вашем DNS записи SRV. Что нормально. Если только вы этого не хотите. Если вы хотите, чтобы на одном сайте использовались разные контроллеры домена, посмотрите на «Сайты и службы Active Directory».