Kinit не підключиться до сервера домену: царство не локальне для KDC, отримуючи початкові облікові дані


13

Я створюю тестове середовище, де клієнти Linux (Ubuntu 10.04) будуть автентифікуватись на сервері домену Windows Server 2008 R2.

Я дотримуюся офіційного керівництва Ubuntu, щоб налаштувати клієнт Kerberos тут: https://help.ubuntu.com/community/Samba/Kerberos , але у мене виникла проблема під час виконання kinitкоманди для підключення до сервера домену.

Команда , яку я біжу це: kinit Administrator@DS.DOMAIN.COM. Ця команда повертає таку помилку:

Realm not local to KDC while getting initial credentials. На жаль, я не можу знайти жодного іншого за допомогою пошукових запитів Google, які зазнали цю точну помилку, тому я не знаю, що це означає.

Клієнт може пінг-імені сервера, тому DNS-сервер вказує на доменний сервер.

Нижче мій файл krb5.conf:

[libdefaults]
default = DS.DOMAIN.COM
dns_lookup_realm = true
dns_lookup_kdc true

[realms]
    DS.DOMAIN.COM = {
        kdc = ds.domain.com:88
        admin_server = ds.domain.com
        default_domain = domain.com
    }

[domain_realm]
    .domain.com = DS.DOMAIN.COM
    domain.com = DS.DOMAIN.COM

Як я можу виправити ці помилки? Я б дуже вдячний за всю допомогу, яку я можу отримати!

Відповіді:


12

Ваше доменне ім’я DS.DOMAIN.COMчи просто DOMAIN.COM?

У ваших сферах вам потрібно, щоб вони відповідали, тому припускаючи, що DS.DOMAIN.COM - ваш домен, вам потрібно змінити:

[domain_realm]
    .domain.com = DS.DOMAIN.COM
    domain.com = DS.DOMAIN.COM

до

[domain_realm]
    .ds.domain.com = DS.DOMAIN.COM
    ds.domain.com = DS.DOMAIN.COM

Однак якщо ваш домен є дійсно, DOMAIN.COMвам потрібно буде змінити krb5.conf, щоб він виглядав так:

[libdefaults]
default = DOMAIN.COM
dns_lookup_realm = true
dns_lookup_kdc = true

[realms]
    DOMAIN.COM = {
        kdc = ds.domain.com:88
        #You can have more than one kds, just keep adding more kdc =
        #entries
        #kdc = dsN.domain.com:88
        #Uncomment if you have a krb admin server
        #admin_server = ds.domain.com:749
        default_domain = domain.com
    }

[domain_realm]
    .domain.com = DOMAIN.COM
    domain.com = DOMAIN.COM

І тоді ви хотіли kinitб так:kinit Administrator@DOMAIN.COM


шевелюра Там була, дивилася на мене як на очевидну річ. КУРСА ad.domain.com = AD.DOMAIN.COM має бути там. Гаах.
sysadmin1138

@sysadmin: Не хвилюйтесь ... мені просто трапляється активно будувати інтегрований SMB-сервер і дивився на мій krb5.conf, намагаючись вирішити проблему, яка виявилася помилкою у Samba 3.0. :-D
Zypher

Мені потрібно буде спробувати це. Однак доменне ім’я: DS.DOMAIN.COM - це мій Windows Server's Hostname+DOMAIN.COM
Phanto

@Phanto, тоді вам потрібно використовувати мою нижню пропозицію. ви вказуєте ім'я хоста як домен, який саме дає вам помилки. kdc та / або сервер адміністратора - це те, де ви б помістили ім'я хоста.
Zypher

3

Якщо ввійти у вихідний код, схоже, що помилка видається, коли процес узгодження отримує перенаправлення на інший домен, і цей домен не є "локальним" або у вашій конфігурації krb5.conf.

00219 / *
00220 * Якщо бекенд повернув основну особу, яка не є локальною
00221 * царство, тоді нам потрібно направити клієнта до цієї сфери.
00222 * /
00223 if (! Is_local_principal (client.princ)) {
00224 / * Запис - це пересилання до іншої сфери * /
00225 статус = "СПИСОК";
00226 помилка = KRB5KDC_ERR_WRONG_REALM;
00227 goto errout;
00228}

Що це могло бути, я не могла вам сказати. Це, мабуть, залежить від вашого середовища Active Directory та від того, чи є у дереві кілька доменів чи ні. Вам, напевно, потрібно більше псевдонімів domain_realm, але саме цього ми не можемо сказати звідси.


2

У мене було те саме повідомлення, використовуючи той самий krb5.conf, який надав Zypher:

[libdefaults]
   default = MYDOMAIN.COM
   dns_lookup_realm = true
   dns_lookup_kdc = true
   ticket_lifetime = 24h
   renew_lifetime = 7d
   forwardable = true

[realms]
MYDOMAIN.COM = {
   kdc = mydc.mydomain.com:88
   admin_server = mydc.mydomain.com:749
   default_domain = mydomain.com
}

[domain_realm]
   .mydomain.com = MYDOMAIN.COM
   mydomain.com = MYDOMAIN.COM

(вибачте, здається, я не можу отримати належне форматування: /)

У моєму випадку мені потрібно було споріднити MYDOMAIN.LOCAL, а не MYDOMAIN.COM. Не впевнений, чи це пов’язано з налаштуваннями аутентифікації в AD загалом або просто для мого домену AD. Мій домен має два постійних струму, один - W2k3 R2, а другий (той, який вказано як mydc.mydomain.com в krb5.conf) - W2k8 R2. Але це ще одна можлива причина для повідомлення "Царство не локальне для KDC при отриманні початкових даних"


2

У мене було це саме, і я виявив, що після виправлення конфігурації відповідь настільки проста, я все-таки мав це. Завдяки logicfuzz на linuxqustions.org.

kinit -V myname@domain.net
kinit: KDC reply did not match expectations while getting initial credentials

kinit -V myname@DOMAIN.NET
Authenticated to Kerberos v5

Столиці тут мають усе значення. Я знаю, що це показано на прикладах, але я хотів це наголосити.


була точно така ж проблема, для моєї ENV перетворення домену у верхніх випадках спрацювало !!
Самір Оульдсааді,

0

Я отримав цю помилку під час спроби підключення цієї машини від одного до іншого домену. Редагування /etc/krb5.conf також не працювало. Потім я спробував виконати наступну команду для перенастроювання матеріалів для іншого домену

# sudo dpkg-reconfigure -plow krb5-config

з потрібними параметрами та налаштуваннями, які перестали давати вищевказану помилку в команді kinit. Вирішено.


0

неправильно додаю це лише тому, що я щойно закінчився тут із тієї самої помилки, але знайшов інше виправлення ще однієї проблеми ... переконайтеся, що домен у ВСІХ КАПАХ: my.user@DOMAIN.LOCAL, а не my.user@domain.local ... я просто втратив 2 години свого життя через цю ...


0

Я знаю, що це давнє запитання, але я хочу додати для майбутніх утилітів, що вирішили цю проблему, це поєднання всіх запропонованих відповідей, а також додавання мого основного контролера домену до мого /etc/hosts


-1
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = DOMAIN.LOCAL
dns_lookup_kdc = true
dns_lookup_realm = true
ticket_lifetime = 24h
#default_keytab_name = /etc/squid3/PROXY.keytab

; for Windows 2003
; default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
; default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
; permitted_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
; for Windows 2008 with AES
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5

[realms]
DOMAIN.LOCAL = {
kdc = dc.domain.local
admin_server = dc.domain.local
default_domain = domain.local
kpasswd_server = dc.domain.local
}

[domain_realm]
.DOMAIN.LOCAL = DOMAIN.LOCAL
DOMAIN.LOCAL = DOMAIN.LOCAL

вести реєстр


2
Будь ласка, додайте відповідні тексти, щоб пояснити, як це вирішить проблему.
Діамант
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.