Linux(Ubuntu 10.04)クライアントがWindows Server 2008 R2ドメインサーバーに対して認証するテストベッド環境をセットアップしています。
ここでKerberosクライアントを設定するために公式のUbuntuガイドに従っています https://help.ubuntu.com/community/Samba/Kerberos ですが、kinit
コマンドを使用して、ドメインサーバーに接続します。
私が実行しているコマンドは:kinit [email protected]
。このコマンドは、次のエラーを返します。
Realm not local to KDC while getting initial credentials
。残念ながら、この正確なエラーが発生したGoogle検索で他の人を見つけることはできないため、それが何を意味するのかわかりません。
クライアントはサーバーのホスト名をpingできるので、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
これらのエラーを修正するにはどうすればよいですか?私が得ることができるすべての助けに非常に感謝します!
ドメイン名は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 [email protected]
ソースコードのピークに達すると、ネゴシエーションプロセスが別のドメインへの紹介を受信し、そのドメインが「ローカル」でない、またはkrb5.conf構成にない場合に、そのエラーがスローされるようです。
00219 /* 00220 *ローカル 00221 *レルムにないプリンシパルがバックエンドから返された場合、クライアントにそのレルムを参照させる必要があります。 00222 */ 00223 if(!is_local_principal(client.princ)){ 00224/*エントリは別のレルムへの参照です*/ 00225 status = "REFERRAL"; 00226 errcode = KRB5KDC_ERR_WRONG_REALM; 00227 goto errout; 00228}
それが何であるか、私はあなたに言うことができませんでした。これは、おそらくActive Directory環境、およびツリーに複数のドメインがあるかどうかによって異なります。おそらくもっと多くのdomain_realmエイリアスが必要ですが、ここからは正確に何を知ることができないのでしょうか。
私はこれを非常に同じにしていて、私の設定を修正した後もまだ簡単だったので、答えはとても簡単であることがわかりました。 linuxqustions.orgのlogicalfuzzに感謝します。
kinit -V [email protected]
kinit: KDC reply did not match expectations while getting initial credentials
kinit -V [email protected]
Authenticated to Kerberos v5
首都はここですべての違いを生みます。これが例に示されていることは知っていますが、強調したかったのです。
Zypherから提供されたものと同じkrb5.confを使用して、同じメッセージが表示されました。
[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.COMではなくMYDOMAIN.LOCALにkinitする必要がありました。これが一般的なADの認証設定によるものなのか、それとも私のADドメインに対するものなのかわからない。私のドメインには2つのDCがあり、1つはW2k3 R2で、もう1つ(krb5.confでmydc.mydomain.comとして指定されている)はW2k8 R2です。しかし、これは「初期認証情報を取得中にレルムがKDCにローカルではありません」メッセージのもう1つの考えられる原因です
同じエラーのためにここで終了したが、さらに別の問題に対する別の修正が見つかったという理由だけで、これを追加してください...ドメインがすべて大文字であるようにしてください:[email protected]ではなく[email protected] ...これが原因で、私は2時間の人生を失ったばかりです...
そのマシンをあるドメインから別のドメインに接続しようとしたときにこのエラーが発生しました。 /etc/krb5.confの編集も機能しませんでした。それから私は次のコマンドを試して、異なるドメインのものを再構成しました
# Sudo dpkg-reconfigure -plow krb5-config
kinitコマンドで上記のエラーが発生しなくなった目的のオプションと設定。解決しました。
これは古い質問であることはわかっていますが、この問題に対する私の解決策は提案されたすべての回答を組み合わせたものであり、プライマリドメインコントローラを/etc/hosts