Kinit không kết nối với máy chủ tên miền: Vương quốc không cục bộ với KDC trong khi nhận thông tin ban đầu


13

Tôi đang thiết lập môi trường thử nghiệm trong đó các máy khách Linux (Ubuntu 10.04) sẽ xác thực với Máy chủ miền Windows Server 2008 R2.

Tôi đang làm theo hướng dẫn chính thức của Ubuntu để thiết lập ứng dụng khách Kerberos tại đây: https://help.ubfox.com/community/Samba/Kerberos , nhưng tôi đã gặp sự cố khi chạy kinitlệnh kết nối với máy chủ tên miền.

Lệnh tôi đang chạy là : kinit Administrator@DS.DOMAIN.COM. Lệnh này trả về lỗi sau:

Realm not local to KDC while getting initial credentials. Thật không may, tôi không thể tìm thấy bất kỳ ai khác thông qua các tìm kiếm của Google đã gặp phải lỗi chính xác này, vì vậy tôi không biết ý nghĩa của nó là gì.

Máy khách có thể ping tên máy chủ của máy chủ, vì vậy máy chủ DNS đang trỏ đến máy chủ tên miền.

Dưới đây là tập tin krb5.conf của tôi:

[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

Làm thế nào tôi có thể sửa những lỗi này? Tôi sẽ đánh giá rất cao tất cả sự giúp đỡ tôi có thể nhận được!

Câu trả lời:


12

Là tên miền của bạn DS.DOMAIN.COMhay chỉ DOMAIN.COM?

Trong vương quốc của bạn, bạn cần phải có chúng khớp với nhau, vì vậy giả sử DS.DOMAIN.COM là tên miền của bạn, bạn cần thay đổi:

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

đến

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

Tuy nhiên, nếu tên miền của bạn thực sự, DOMAIN.COMbạn sẽ cần thay đổi krb5.conf của mình để trông giống như:

[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

Và sau đó bạn muốn kinitnhư vậy:kinit Administrator@DOMAIN.COM


Cái mũ ở đó, nhìn chằm chằm vào tôi như một điều hiển nhiên. KHÓA HỌC ad.domain.com = AD.DOMAIN.COM nên có trong đó. Gaah.
sysadmin1138

@sysadmin: Không phải lo lắng ... tôi tình cờ xây dựng một máy chủ SMB tích hợp AD và đã nhìn chằm chằm vào krb5.conf của tôi khi cố gắng tìm ra một vấn đề dẫn đến lỗi trong Samba 3.0. :-D
Zypher

Tôi sẽ cần phải thử điều này. Tuy nhiên, tên miền: DS.DOMAIN.COM là Windows Server's Hostname+DOMAIN.COM
Phanto

@Phanto thì bạn cần sử dụng gợi ý thấp hơn của tôi. bạn đang chỉ định một tên máy chủ lưu trữ là một tên miền gây ra lỗi cho bạn. máy chủ kdc và / hoặc quản trị viên là nơi bạn sẽ đặt tên máy chủ.
Zypher

3

Lên đến mã nguồn, có vẻ như lỗi đó được đưa ra khi quá trình đàm phán nhận được giới thiệu đến một tên miền khác và tên miền đó không phải là 'cục bộ' hoặc trong cấu hình krb5.conf của bạn.

00219 / *
00220 * Nếu phụ trợ trả về một hiệu trưởng không ở địa phương
00221 * cõi, sau đó chúng ta cần giới thiệu khách hàng đến cõi đó.
00222 * /
00223 if (! Is_local_principal (client.princ)) {
00224 / * Entry là một giới thiệu đến một lĩnh vực khác * /
00225 status = "GIỚI THIỆU";
00226 errcode = KRB5KDC_ERR_WRONG_REALM;
00227 lỗi goto;
00228}

Điều đó có thể là gì, tôi không thể nói với bạn. Điều đó có thể phụ thuộc vào môi trường Active Directory của bạn và liệu có nhiều tên miền trong cây hay không. Bạn có thể cần nhiều bí danh domain_realm, nhưng chính xác những gì chúng ta không thể nói từ đây.


2

Tôi đã có cùng một thông điệp sử dụng cùng krb5.conf như được cung cấp bởi 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

(xin lỗi, có vẻ như tôi không thể có được định dạng phù hợp: /)

Trong trường hợp của tôi, tôi cần phải chuyển sang MYDOMAIN.LOCAL chứ không phải MYDOMAIN.COM. Không chắc chắn điều này là do cài đặt xác thực trong AD nói chung hay chỉ dành cho miền AD của tôi. Tên miền của tôi có 2 DC, một là W2k3 R2 và một (được chỉ định là mydc.mydomain.com trong krb5.conf) là W2k8 R2. Nhưng đây là một nguyên nhân có thể khác cho thông báo "Vương quốc không cục bộ với KDC trong khi nhận thông tin ban đầu"


2

Tôi đã có điều này rất giống nhau và thấy câu trả lời rất đơn giản sau khi sửa cấu hình của tôi, tôi vẫn còn điều này. Cảm ơn logicfuzz tại 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

Thủ đô làm cho tất cả sự khác biệt ở đây. Tôi biết điều này được thể hiện trong các ví dụ nhưng tôi muốn nhấn mạnh nó.


có vấn đề chính xác như vậy, vì env của tôi biến tên miền thành chữ hoa hoạt động !!
Samir Ouldsaadi

0

Tôi đã gặp lỗi này khi thử kết nối máy đó từ một miền này sang miền khác. Chỉnh sửa /etc/krb5.conf cũng không hoạt động. Sau đó, tôi đã thử lệnh sau để cấu hình lại các thứ cho các miền khác nhau

# sudo dpkg-reconfigure -plow krb5-config

với các tùy chọn và cài đặt mong muốn đã dừng đưa ra lỗi trên trong lệnh kinit. Đã giải quyết.


0

Tôi thêm điều này chỉ vì tôi vừa kết thúc ở đây vì cùng một lỗi nhưng đã tìm thấy một sửa chữa khác cho một vấn đề khác ... đảm bảo rằng tên miền nằm trong TẤT CẢ CAPS: my.user@DOMAIN.LOCAL chứ không phải my.user@domain.local ... tôi vừa mất 2 giờ trong cuộc đời vì điều này ...


0

Tôi biết đây là một câu hỏi cũ, nhưng tôi muốn thêm cho những người khắc phục sự cố trong tương lai rằng giải pháp của tôi cho vấn đề này là sự kết hợp của tất cả các câu trả lời được đề xuất, cũng như thêm bộ điều khiển miền chính của tôi vào /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

giữ sổ đăng ký


2
Vui lòng thêm các văn bản có liên quan để giải thích làm thế nào điều này sẽ giải quyết vấn đề.
Diamant
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.