я бегу следующие команды на сервере W12: -Клиент Kerberos не найден в базе данных Kerberos
Setspn -A HTTP/krbspn
Ktpass/Princ HTTP/@/крипто ALL/PTYPE krb5_nt_principal/mapuser krbspn C: \ билет \ krbspn.keytab -kvno 0 /пасс Pa $$ w0rd
и Kinit krbspn дает правильный результат, однако Kinit HTTP/возврат: -
KrbException: Клиент не найден в базе данных Kerberos (6) в sun.security.krb5.KrbAsRep (KrbAsRep.java:76) на sun.security.krb5.KrbAsReqBuilder.send (KrbAsReqBuilder.java.: 319) at sun.security.krb5.KrbAsReqBuilder.action (KrbAsReqBuilder.java:364) at sun.security.krb5.internal.tools.Kinit. (Kinit.java:221) at sun.security.krb5.internal .tools.Kinit.main (Kinit.java:113) Вызывается: KrbException: Идентификатор не соответствует ожидаемому значению (906) at sun.security.krb5.internal.KDCRep.init (KDCRep.java:143) at sun.security.krb5.internal.ASRep.init (ASRep.java:65) at sun.sec urity.krb5.internal.ASRep. (ASRep.java:60) на sun.security.krb5.KrbAsRep. (KrbAsRep.java:60) ... 4 более
Я все готов проверить с вперед и назад DNS, и они работают нормально.
Забавный факт: -
Я использовал эти точные команды с тем же именем SPN на этой же машине, и все работает нормально, в течение нескольких месяцев. Но 2 дня назад только демо я сделал: -
Setspn -D HTTP/krbspn
, а затем сделал вышеперечисленные команды снова, и теперь он сломан :-(
Любая помощь ценится ..
Спасибо, Нихилу
Я думаю, что вижу проблему. Но во-первых, какая версия Java работает на сервере, на котором вы работаете _kinit_? –
@ T-Heron jdk 1.7 51 –
Готовы ли вы попробовать несколько вещей? Если они сработают, мы можем вложить их в ответ. (1) В этом: _setspn -A HTTP/krbspn_ имеет пробел между _/_ и _krbspn_. Там не должно быть пробела. (2) В _ktpass/princ HTTP/@/crypto ALL_ должно быть какое-то имя хоста, указанное после _HTTP/_, но перед _ @ _, желательно полное имя DNS. (3) _kinit HTTP/_ сам по себе будет всегда терпеть неудачу, потому что аргумент SPN является неполным, у вас должно быть какое-то имя хоста, следующего за поиском _HTTP/_ else, в KDC ничего не найдет. Пожалуйста, напишите полную отмененную команду ktpass –