web-dev-qa-db-fra.com

Kinit ne se connectera pas à un serveur de domaine: le domaine n'est pas local à KDC lors de l'obtention des informations d'identification initiales

Je configure un environnement de banc d'essai où les clients Linux (Ubuntu 10.04) s'authentifieront sur un serveur de domaine Windows Server 2008 R2.

Je suis le guide officiel d'Ubuntu pour configurer un client Kerberos ici: https://help.ubuntu.com/community/Samba/Kerberos , mais j'ai rencontré un problème lors de l'exécution du kinit commande pour se connecter au serveur de domaine.

La commande que j'exécute est: kinit [email protected]. Cette commande renvoie l'erreur suivante:

Realm not local to KDC while getting initial credentials. Malheureusement, je ne trouve personne d'autre via les recherches Google qui a rencontré cette erreur exacte, donc je n'ai aucune idée de ce que cela signifie.

Le client est en mesure d'envoyer une requête ping au nom d'hôte du serveur, de sorte que le serveur DNS pointe vers le serveur de domaine.

Voici mon fichier 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

Comment puis-je corriger ces erreurs? J'apprécierais grandement toute l'aide que je peux obtenir!

13
Phanto

Votre nom de domaine est-il DS.DOMAIN.COM ou juste DOMAIN.COM?

Dans vos domaines, vous devez les faire correspondre, donc en supposant que DS.DOMAIN.COM est votre domaine, vous devez changer:

[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

Cependant, si votre domaine est vraiment DOMAIN.COM vous devez changer votre krb5.conf pour qu'il ressemble à:

[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

Et puis vous voudriez kinit comme ceci: kinit [email protected]

12
Zypher

Avec un pic dans le code source, il semble que cette erreur soit levée lorsque le processus de négociation reçoit une référence vers un autre domaine et que ce domaine n'est pas "local" ou dans votre configuration krb5.conf.

00219 /*[.____. E5E00220 * Si le backend a renvoyé un principal qui n'est pas dans le domaine 
 00221 * local, nous devons renvoyer le client vers ce domaine. 
 00222 */
 00223 if (! Is_local_principal (client.princ)) {
 00224/* L'entrée est une référence vers un autre domaine */
 00225 status = "REFERRAL"; 
 00226 errcode = KRB5KDC_ERR_WRONG_REALM; 
 00227 goto errout; 
 00228}

Ce que cela pourrait être, je ne pourrais pas vous le dire. Cela dépend probablement de votre environnement Active Directory et de la présence ou non de plusieurs domaines dans l'arborescence. Vous avez probablement besoin de plus d'alias domain_realm, mais exactement ce que nous ne pouvons pas dire d'ici.

3
sysadmin1138

J'avais exactement la même chose et j'ai trouvé la réponse si simple après avoir corrigé ma configuration, je l'avais toujours. Merci à logicfuzz sur linuxqustions.org.

kinit -V [email protected]
kinit: KDC reply did not match expectations while getting initial credentials

kinit -V [email protected]
Authenticated to Kerberos v5

Les capitales font toute la différence ici. Je sais que cela est illustré dans des exemples mais je voulais le souligner.

2
user375207

J'ai eu le même message en utilisant le même krb5.conf que celui fourni par 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

(désolé, il semble que je ne puisse pas obtenir un formatage approprié: /)

Dans mon cas, j'avais besoin de kinit à MYDOMAIN.LOCAL plutôt qu'à MYDOMAIN.COM. Je ne sais pas si cela est dû à un paramètre d'authentification dans AD en général ou juste pour mon domaine AD. Mon domaine a 2 contrôleurs de domaine, l'un est W2k3 R2 et l'autre (celui spécifié comme mydc.mydomain.com dans krb5.conf) est W2k8 R2. Mais ceci est une autre cause possible du message "Domaine non local à KDC lors de l'obtention des informations d'identification initiales"

2
zsispeo

mal ajouter cela juste parce que je viens de terminer ici pour la même erreur mais que j'ai trouvé un autre correctif pour un autre problème ... assurez-vous que le domaine est en MAJUSCULES: [email protected] et non [email protected] ... je viens de perdre 2 heures de ma vie à cause de celle-ci ...

0
boiss007

J'ai eu cette erreur en essayant de connecter cette machine d'un domaine à un autre domaine. La modification de /etc/krb5.conf n'a pas fonctionné non plus. Ensuite, j'ai essayé la commande suivante pour reconfigurer les trucs pour différents domaines

# Sudo dpkg-reconfigure -plow krb5-config

avec les options et les paramètres souhaités qui ont cessé de donner l'erreur ci-dessus dans la commande kinit. Résolu.

0
vallabh

Je sais que c'est une vieille question, mais je veux ajouter pour les futurs utilitaires de résolution des problèmes que ma résolution de ce problème était une combinaison de toutes les réponses suggérées, ainsi que l'ajout de mon contrôleur de domaine principal à mon /etc/hosts

0
Norr