2016-12-21 5 views
1

que je suis en cours d'exécution les commandes suivantes sur le serveur W12: -client Kerberos introuvable dans la base de données kerberos

Setspn HTTP/krbspn

ktpass/princ HTTP/@/Crypto ALL/ptype KRB5_NT_PRINCIPAL/mapuser krbspn c: \ billet \ krbspn.keytab -kvno 0 /pass Pa $$ w0rd

et kinit krbspn donne le résultat correct, mais kinit HTTP/retours: -

KrbException: Le client ne se trouve pas dans la base de données Kerberos (6) à sun.security.krb5.KrbAsRep (KrbAsRep.java:76) à sun.security.krb5.KrbAsReqBuilder.send (KrbAsReqBuilder.java.: 319) à sun.security.krb5.KrbAsReqBuilder.action (KrbAsReqBuilder.java:364) à sun.security.krb5.internal.tools.Kinit. (Kinit.java:221) à sun.security.krb5.internal .tools.Kinit.main (Kinit.java:113) Causé par: KrbException: l'identificateur ne correspond pas à la valeur attendue (906) à sun.security.krb5.internal.KDCRep.init (KDCRep.java:143) à sun.security.krb5.internal.ASRep.init (ASRep.java:65) à sun.sec urity.krb5.internal.ASRep. (ASRep.java:60) à sun.security.krb5.KrbAsRep. (KrbAsRep.java:60) ... 4 plus

J'ai tout prêt vérifié avec forward et reverse DNS et ils fonctionnent bien.

Anecdote: -

j'avais utilisé ces commandes exactes avec le même nom SPN sur cette même machine et tout fonctionnait très bien pendant des mois. Mais 2 jours en arrière juste pour la démo, je l'ai fait: -

setspn -D HTTP/krbspn

puis fait les commandes ci-dessus à nouveau, et maintenant il est cassé :-(

Toute aide est apprécié ..

Merci, Nikhil

+0

Je pense que je vois le problème. Mais d'abord, quelle version de Java exécutez-vous sur le serveur sur lequel vous exécutez _kinit_? –

+0

@ T-Heron jdk 1.7 51 –

+0

Êtes-vous prêt à essayer quelques petites choses? Si elles fonctionnent, nous pouvons les envelopper dans une réponse. (1) Dans ceci: _setspn -A HTTP/krbspn_ a un espace vide entre _/_ et _krbspn_. Il ne doit pas y avoir d'écart là. (2) Dans _ktpass/princ HTTP/@/crypto ALL_, il doit y avoir un type de nom d'hôte spécifié après _HTTP/_ mais avant le _ @ _, de préférence un nom DNS complet. (3) _kinit HTTP/_ par lui-même échouera toujours, car l'argument SPN est incomplet, vous devez avoir une sorte de nom d'hôte suivant _HTTP/_ sinon les recherches dans le KDC ne trouveront rien. Veuillez envoyer une commande ktpass complète non éditée –

Répondre

1
  1. setspn -A HTTP/krbspn a un espace vide après / et avant krbspn. Il ne doit pas y avoir d'écart là-bas.
  2. Dans ktpass/princ HTTP/@/ALL Crypto, il doit y avoir une sorte de nom d'hôte spécifié après HTTP/ et avant @, de préférence un nom DNS complet.
  3. kinit HTTP/ par lui-même aura toujours l'échec, parce que l'argument SPN est incomplet, vous devez avoir une sorte de nom d'hôte suivant HTTP/ ou LookUps autre dans le KDC ne trouvera rien.

Pour un exemple d'exécution de la commande ktpass, reportez-vous à ce lien: Kerberos Keytabs – Explained. L'exemple de commande ktpass est vers le bas de l'article. Si vous suivez cela, le SPN et Keytab seront correctement construits et si vous avez tout suivi correctement, l'authentification Kerberos sera réussie.