Sun Enterprise Authentication Mechanism 1.0.1 ガイド

第 4 章 SEAM のエラーメッセージと問題の解決

この章では、エラーメッセージに対する対処方法と、SEAM 使用時のさまざまな問題の解決方法を説明します。次に、この章で取り上げるエラーメッセージのカテゴリを示します。

SEAM のエラーメッセージ

この節では、SEAM のエラーメッセージを示し、その原因と解決方法を説明します。

SEAM 管理ツールのエラーメッセージ

エラーメッセージ

プリンシパルまたはポリシーのリストにアクセスできません;「名前」フィールドを使用してください
(Unable to view the list of principals or policies; use the Name field.)
原因

ログインしている admin プリンシパルが Kerberos の ACL ファイル (kadm5.acl) にリスト特権 (l) を持っていないため、プリンシパルまたはポリシーのリストを表示できません。

解決方法

プリンシパル名とポリシー名を「名前 (Name)」フィールドに入力するか、適切な特権を持つプリンシパルでログインします。

エラーメッセージ

JNI: Java array creation failed 
JNI: Java class lookup failed 
JNI: Java field lookup failed 
JNI: Java method lookup failed 
JNI: Java object lookup failed 
JNI: Java object field lookup failed 
JNI: Java string access failed 
JNI: Java string creation failed
原因

SEAM 管理ツール (gkadmin) が使用する Java ネイティブインタフェースに重大な問題があります。

解決方法

gkadmin を終了して再起動します。これでも問題が残る場合は、バグを報告してください。

一般的な SEAM エラーメッセージ (A-M)

この節では、SEAM コマンド、SEAM デーモン、PAM フレームワーク、GSS インタフェース、および Kerberos ライブラリに関する、より一般的なエラーメッセージをアルファベット順 (A-M) に示します。

エラーメッセージ

major_error minor_error 名前をインポート中に gssapi エラー
(major_error minor_error gssapi error importing name)
原因

サービス名のインポート時にエラーが発生しました。

解決方法

ホストの keytab ファイルに host または ftp のサービスプリンシパルがあることを確認します。

エラーメッセージ

すべての認証システムが無効になっています;接続は拒否されました。
(All authentication systems disabled; connection refused)
原因

このバージョンの rlogind は認証機構をサポートしていません。

解決方法

rlogind を呼び出すときに -k オプションを指定していることを確認します。このオプションはデフォルトで inetd.conf ファイルに指定されている必要があります。

エラーメッセージ

このホストにアクセスするには、別の認証メカニズムを使用する必要があります
(Another authentication mechanism must be used to access this host)
原因

認証を行うことができませんでした。

解決方法

クライアントが認証に Kerberos V5 を使用していることを確認します。

エラーメッセージ

暗号化に必要な認証のネゴシエーションに失敗しました。終了します。
(Authentication negotiation has failed, which is required for encryption. Good bye.)
原因

認証について、サーバーとネゴシエーションできませんでした。

解決方法

telnet コマンドの toggle authdebug を呼び出して認証デバッグを起動して、手がかりとなるようなデバッグメッセージを探します。また、資格が有効であることも確認します。

エラーメッセージ

kadmin インタフェースを初期化中に、krb5 admin サーバーホスト名が無効です。
(Bad krb5 admin server hostname while initializing kadmin interface)
原因

krb5.conf ファイルにおいて、admin サーバー (マスター KDC) に対して無効なホスト名が構成されています。

解決方法

krb5.conf ファイルにおいて、admin サーバー (マスター KDC) に対して正しいホスト名を指定していることを確認します。

エラーメッセージ

要求したレルムの KDC に接続できません。
(Cannot contact any KDC for requested realm)
原因

要求されたレルム内で KDC が応答しませんでした。

解決方法

少なくとも 1 つの KDC (マスターまたはスレーブのどちらか) に使用可能であること、つまり、krb5kdc デーモンが KDC 上で動作していることを確認します。構成されている KDC のリスト (kdc = kdc_name) については、/etc/krb5/krb5.conf を調べます。

エラーメッセージ

ホストのレルムを決定できません。
(Cannot determine realm for host)
原因

Kerberos がホストのレルム名を見つけることができません。

解決方法

Kerberos 構成ファイル (krb5.conf) にデフォルトのレルム名が存在すること、あるいはドメイン名のマッピングが設定されていることを確認します。

エラーメッセージ

ネットワークに暗号化で書き込みできません。
(Cannot encrypt-write network)
原因

データの暗号化で問題が発生しました。

解決方法

他にも問題が発生していないかシステムを調べます。手がかりになるような他の syslog メッセージを探します。

エラーメッセージ

要求したレルムの KDC が見つかりません。
(Cannot find KDC for requested realm)
原因

要求されたレルム内に KDC が見つかりませんでした。

解決方法

Kerberos 構成ファイル (krb5.conf) の realm セクションに KDC が指定されていることを確認します。

エラーメッセージ

レルム realm_name を初期化できません。(cannot initialize realm realm_name)
原因

KDC が stash ファイルを持っていない可能性があります。

解決方法

KDC が stash ファイルを持っていることを確認します。持っていない場合、kdb5_util(1M) コマンドを使用して stash ファイルを作成して、もう一度 krb5kdc を実行します (/etc/init.d/kdc)。

エラーメッセージ

要求したレルムの KDC を解決できません。
(Cannot resolve KDC for requested realm)
原因

Kerberos がレルム内の KDC を見つけることができません。

解決方法

Kerberos 構成ファイル (krb5.conf) の realm セクションに KDC が指定されていることを確認します。

エラーメッセージ

パスワードは再使用できません。
(Cannot reuse password)
原因

入力したパスワードは、以前、このプリンシパルで使用されています。

解決方法

以前使用されていないパスワードを使用します。あるいは、各プリンシパルの KDC データベースに保存されているパスワード以外のパスワードを使用します。KDC データベースに保存されるパスワードの数はプリンシパルのポリシーによって決定されます。

エラーメッセージ

転送された資格を取得できません。
(Can't get forwarded credentials)
原因

資格の転送ができませんでした。

解決方法

プリンシパルの資格が転送可能であることを確認します。

エラーメッセージ

Kerberos 構成ファイルを開けません/見つかりません。
(Can't open/find Kerberos configuration file)
原因

Kerberos 構成ファイル (krb5.conf) が利用できませんでした。

解決方法

krb5.conf ファイルが適切なディレクトリにあり、適切なアクセス権 (root の書き込み権と任意のユーザーの読み取り権) を持っていることを確認します。

エラーメッセージ

クライアントが必要なチェックサムを提供しませんでした--接続は拒否されました。
(Client did not supply required checksum--connection rejected)
原因

チェックサム付きの認証について、クライアントとネゴシエーションできませんでした。クライアントが初期接続をサポートしていない古い Kerberos V5 プロトコルを使用している可能性があります。

解決方法

クライアントが初期接続をサポートしている Kerberos V5 プロトコルを使用していることを確認します。

エラーメッセージ

初期チケット要求でクライアント/サーバーレルムが一致していません。
(Client/server realm mismatch in initial ticket request)
原因

初期チケット要求において、クライアントとサーバー間でレルムが一致しませんでした。

解決方法

通信しているサーバーがクライアントと同じレルムにあること、あるいはレルム構成が正しいことを確認します。

エラーメッセージ

クライアントまたはサーバーの鍵が null です。
(Client or server has a null key)
原因

プリンシパルの鍵が null です。

解決方法

kadmin(1M)cpw コマンドを使用して、プリンシパルの鍵を null 以外に修正します。

エラーメッセージ

kadmin インタフェースを初期化中に、サーバーとの通信の失敗です。
(Communication failure with server while initializing kadmin interface)
原因

admin サーバー (マスター KDC) として入力したホスト上で kadmind が動作していませんでした。

解決方法

マスター KDC として正しいホスト名を指定しているか確認します。正しいホスト名を指定している場合は、指定したマスター KDC 上で kadmind が動作していることを確認します。

エラーメッセージ

構成エラー: -c を使ったチェックサムを行う場合は、Kerberos V4 接続を行うことはできません
(Configuration error: Requiring checksums with -c is inconsistent
with allowing Kerberos V4 connections)
原因

チェックサム付きの認証について、クライアントとネゴシエーションできませんでした。クライアントが初期接続をサポートしていない古い Kerberos V5 プロトコルを使用している可能性があります。

解決方法

クライアントが初期接続をサポートしている Kerberos V5 プロトコルを使用していることを確認します。

エラーメッセージ

構成エラー: -c を使ったチェックサムを行う場合は、Kerberos V4 接続を行うことはできません
(Credentials cache file permissions incorrect)
原因

資格キャッシュ (/tmp/krb5cc_uid) に適切な読み取り権または書き込みのアクセス権を持っていません。

解決方法

資格キャッシュに読み取り権と書き込み権を持っていることを確認します。

エラーメッセージ

資格キャッシュ入出力操作が失敗しました。 XXX
(Credentials cache I/O operation failed XXX)
原因

システムの資格キャッシュ (/tmp/krb5cc_uid) への書き込み中に Kerberos に問題が発生しました。

解決方法

資格キャッシュが削除されていないこと、および df コマンドを使用して、デバイスに空領域があることを確認します。

エラーメッセージ

復号化で整合性チェックが失敗しました。
(Decrypt integrity check failed)
原因

チケットが無効である可能性があります。

解決方法
  1. 資格が有効であることを確認します。kdestroy でチケットを削除して、kinit で新しいチケットを作成します。

  2. ターゲットのホストの keytab が正しいバージョンのサービス鍵を持っていることを確認します。まず、kadmin(1M) を使用して、Kerberos データベースにあるサービスプリンシパル (たとえば、host/FQDN_hostname) の鍵バージョン番号を表示します。そして、ターゲットのホスト上で klist -k を実行して、同じ鍵バージョン番号を持っていることを確認します。

エラーメッセージ

des_read の再試行回数が XX を超過しました。
(des_read retry count exceeded)
原因

データの読み取り中にエラーが繰り返し発生しました。

解決方法

他にも問題が発生していないかシステムを調べます。手がかりになるような他の syslog メッセージを探します。

エラーメッセージ

df: ファイルシステムを statvfs できません: 引数が正しくありません
(df: cannot statvfs filesystem: Invalid argument)
原因

適切な root 資格を持っていないため、df コマンドがレポートを生成するときに、現在マウントしている Kerberos 化された NFS ファイルシステムにアクセスできません。マウントしている Kerberos 化されたファイルシステムの資格を削除しても、ファイルシステムは自動的にマウント解除されません。

解決方法

Kerberos 化されたファイルシステムにアクセスするには、新しい root 資格を作成する必要があります。Kerberos 化されたファイルシステムへのアクセスが必要なくなった場合は、ファイルシステムをマウント解除します。

エラーメッセージ

Encryption could not be enabled. Goodbye.
(暗号化を有効にできませんでした。終了します。)
原因

暗号化について、サーバーとネゴシエーションできませんでした。

解決方法

telnet コマンドの toggle encdebug を起動し認証のデバッグを開始して、手がかりとなるようなデバッグメッセージを探します。

エラーメッセージ

暗号化が正しくネゴシエーションされませんでした。終了します。
(Encryption was not successfully negotiated. Goodbye.)
原因

暗号化について、ネゴシエーションできませんでした。

解決方法

KDC ログファイルのエラーメッセージを調べます。

エラーメッセージ

資格キャッシュの終わりに達しました。
(End of credential cache reached)
原因

資格キャッシュ (/tmp/krb5cc_uid) の読み取り中にエラーが発生しました。

解決方法

資格キャッシュが読み取り可能であり、データを持っていることを確認します。

エラーメッセージ

資格キャッシュを取得できませんでした。
(failed to obtain credentials cache)
原因

kadmin 初期化中、kadminadmin プリンシパルの資格を獲得しようとしたときに問題が発生しました。

解決方法

kadmin の実行時に、正しいプリンシパルまたはパスワード (あるいは、その両方) を使用したことを確認します。

エラーメッセージ

この実装では、フィールドが長すぎます。
(Field is too long for this implementation)
原因

Kerberos 化されたアプリケーションから送信されたメッセージのサイズが大きすぎました。Kerberos が扱うことができるメッセージの最大サイズは 65535 バイトです。さらに、Kerberos が送信するプロトコルメッセージ内の個々のフィールドにも制限があります。

解決方法

Kerberos 化されたアプリケーションが送信するメッセージのサイズが有効であることを確認します。

エラーメッセージ

GSS-API (または Kerberos) エラー
(GSS-API (or Kerberos) error)
原因

これは汎用 GSS-API または Kerberos のエラーメッセージです。複数の問題が原因である可能性があります。

解決方法

/var/krb5/kdc.log ファイルを開いて、このエラーが発生したときに、エラーの原因をさらに特定できる GSS-API エラーメッセージが記録されていないかを調べます。

エラーメッセージ

ホスト名を展開できません。
(Hostname cannot be canonicalized)
原因

Kerberos はホスト名を完全指定できません。

解決方法

DNS にホスト名が存在していること、およびホスト名からアドレスへのマッピングとアドレスからホスト名へのマッピングに一貫性があることを確認します。

エラーメッセージ

レルム間のチケットが無効です。
(Illegal cross-realm ticket)
原因

送信したチケットのレルム間関係が正しくありません。レルムの委任関係の設定が間違っている可能性があります。

解決方法

使用しているレルムの委任関係が正しいことを確認します。

エラーメッセージ

Kerberos 構成ファイルのフォーマットが不適切です。
(Improper format of Kerberos configuration file)
原因

Kerberos 構成ファイル (krb5.conf) に無効なエントリがあります。

解決方法

krb5.conf ファイルのすべての関係の後に「=」記号と値が続いていることを確認して、各サブセクションの括弧が対で存在していることを確認します。

エラーメッセージ

メッセージのチェックサムのタイプが不適切です。
(Inappropriate type of checksum in message)
原因

メッセージのチェックサムのタイプが無効です。

解決方法

krb5.confkdc.conf ファイルに有効なチェックサムのタイプが指定されているかどうかを調べます。

エラーメッセージ

ネットアドレスが間違っています。
(Incorrect net address)
原因

ネットワークアドレスが一致していません。転送されるチケットのネットワークアドレスが、チケットが処理されるネットワークアドレスと異なります。チケットの転送時にエラーが発生した可能性があります。

解決方法

ネットワークアドレスが正しいことを確認します。つまり、kdestroy でチケットを削除して、kinit で新しいチケットを作成します。

エラーメッセージ

ファイルロックモードのフラグが無効です。
(Invalid flag for file lock mode)
原因

Kerberos の内部エラーが発生しました。

解決方法

バグを報告してください。

エラーメッセージ

符号化に対し無効なメッセージタイプが指定されました。
(Invalid message type specified for encoding)
原因

Kerberos は、Kerberos 化されたアプリケーションから送信されたメッセージのタイプを認識できませんでした。

解決方法

ユーザーのサイトやベンダーで開発した Kerberos 化されたアプリケーションを使用する場合は、そのアプリケーションが Kerberos を正しく使用していることを確認します。

エラーメッセージ

文字クラス数が正しくありません。
(Invalid number of character classes)
原因

プリンシパル用に入力したパスワードは、そのプリンシパルのポリシーが適用されているパスワードクラス数に達しません。

解決方法

パスワードの入力時に、ポリシーが必要とする最小数のパスワードクラス数を使用していることを確認します。

エラーメッセージ

KADM エラー: メモリー割り当ての失敗です。
(KADM err: Memory allocation failure)
原因

kadmin を実行するための十分なメモリーがありません。

解決方法

メモリーを解放して、もう一度 kadmin を実行します。

エラーメッセージ

KDC は要求したオプションを処理できません。
(KDC can't fulfill requested option)
原因

KDC は要求されたオプションを許可しませんでした。考えられる問題として、遅延または転送可能なオプションを要求したが、KDC がそれを許可しなかった可能性があります。また、TGT の更新を要求したが、更新可能な TGT がなかった可能性もあります。

解決方法

要求したオプションを KDC が許可しなかったのか、持っていないものを要求しようとしていたのかを確認します。

エラーメッセージ

KDC ポリシーは要求を拒否します。
(KDC policy rejects request)
原因

KDC ポリシーは要求を許可しませんでした。たとえば、KDC への要求に IP アドレスがなかったとか、要求した転送を KDC が許可しなかったなどです。

解決方法

kinit に正しいオプションを指定していることを確認します。必要であれば、要求を許可するように、プリンシパルに関連するポリシーを変更するか、プリンシパルの属性を変更します。ポリシーまたはプリンシパルを変更するには、kadmin(1M) を使用します。

エラーメッセージ

KDC 応答は予期したものと一致しませんでした。
(KDC reply did not match expectations)
原因

KDC の応答には、期待されたプリンシパル名が入っていませんでした。あるいは、応答時の値が間違っていました。

解決方法

通信している KDC が RFC1510 に準拠していること、送信した要求が Kerberos V5 の要求であること、あるいは KDC が利用可能であることを確認します。

エラーメッセージ

Kerberos V5 は認証を拒否します。
(Kerberos V5 refuses authentication)
原因

認証について、サーバーとネゴシエーションできませんでした。

解決方法

telnet コマンドの toggle authdebug を呼び出して認証デバッグを起動して、手がかりとなるようなデバッグメッセージを探します。また、資格が有効であることも確認します。

エラーメッセージ

鍵テーブルエントリが見つかりません。
(Key table entry not found)
原因

ネットワークアプリケーションサーバーの keytab 内にサービスプリンシパルのエントリが存在しません。

解決方法

適切なサービスプリンシパルをサーバーの keytab に追加して、Kerberos 化されたサービスを提供できるようにします。

エラーメッセージ

鍵テーブルのプリンシパルの鍵バージョン番号が正しくありません。
(Key version number for principal in key table is incorrect)
原因

プリンシパルの鍵バージョンが keytab と Kerberos 内で異なります。サービスの鍵が変更されたか、古いサービスチケットを使用している可能性があります。

解決方法

たとえば、kadmin を使用してサービスの鍵が変更された場合、新しい鍵を取り出して、サービスを実行しているホストの keytab に格納する必要があります。

また、古い鍵を持つ古いサービスチケットを使用している可能性もあります。この場合、kdestroy を実行して、もう一度 kinit を実行します。

エラーメッセージ

login: load_modules: /usr/lib/security/pam_krb5.so.1 モジュールを開けません。
(login: load_modules: can not open module /usr/lib/security/pam_krb5.so.1)
原因

Kerberos PAM モジュールがなくなったか、有効な実行可能バイナリではありません。

解決方法

Kerberos PAM モジュールが /usr/lib/security に存在しており、有効な実行可能バイナリであることを確認します。また、/etc/pam.confpam_krb5.so.1 への正しいパスが入っていることも確認します。

エラーメッセージ

krb5_get_in_tkt 内部でループが検出されました。
(Looping detected inside krb5_get_in_tkt)
原因

Kerberos は何回か初期チケットを獲得しようとしましたが、失敗しました。

解決方法

少なくとも 1 つの KDC が認証要求に応答していることを確認します。

エラーメッセージ

マスター鍵がデータベースと一致しません。
(Master key does not match database)
原因

読み込まれたデータベースダンプは、マスター鍵を含むデータベースから作成されていませんでした。このデータベースは /var/krb5/.k5.REALM にあります。

解決方法

読み込まれたデータベースダンプ内のマスター鍵が /var/krb5/.k5.REALM にあるマスター鍵と一致することを確認します。

エラーメッセージ

一致する資格が見つかりません。
(Matching credential not found)
原因

要求と一致する資格が見つかりませんでした。要求が必要とする資格は、資格キャッシュにありません。

解決方法

kdestroy でチケットを削除して、kinit で新しいチケットを作成します。

エラーメッセージ

メッセージの順序が違います。
(Message out of order)
原因

逐次順序のプライバシで送信されたメッセージが間違った順番で到着しました。転送中にいくつかのメッセージがなくなった可能性があります。

解決方法

Kerberos セッションを初期化し直してください。

エラーメッセージ

メッセージストリームが変更されました。
(Message stream modified)
原因

計算されたチェックサムとメッセージのチェックサムが一致しません。転送中にメッセージが変更された可能性があります。つまり、セキュリティが侵害された可能性を示しています。

解決方法

メッセージがネットワークを通じて正しく送信されていることを確認します。このメッセージは送信中にメッセージが傍受された可能性を示しているため、kdestroy でチケットを削除して、使用している Kerberos サービスを初期化し直します。

一般的な SEAM エラーメッセージ (N-Z)

この節では、SEAM コマンド、SEAM デーモン、PAM フレームワーク、および Kerberos ライブラリに関しての、より一般的なエラーメッセージをアルファベット順 (N-Z) に示します。

エラーメッセージ

認証システムが有効になっていません;すべての接続が拒否されます。
(No authentication systems were enabled; all connections will be refused)
原因

このバージョンの rlogind は認証機構をサポートしていません。

解決方法

rlogind を呼び出すときに -k オプションを指定していることを確認します。このオプションはデフォルトで inetd.conf ファイルに指定されていなければなりません。

エラーメッセージ

資格キャッシュファイルが見つかりません。
(No credentials cache file found)
原因

Kerberos は資格キャッシュ (/tmp/krb5cc_uid) を見つけることができませんでした。

解決方法

資格ファイルが存在しており、読み取り可能であることを確認します。そうでない場合、もう一度 kinit を実行します。

エラーメッセージ

操作には "privilege" 特権が必要です。
(Operation requires "privilege" privilege)
原因

使用している admin プリンシパルが kadm5.acl ファイルで適切な特権が設定されていません。

解決方法

適切な特権を持っているプリンシパルを使用するか、使用しているプリンシパルが適切な特権を持つように kadm5.acl ファイルを変更します。通常、名前の一部に /admin があるプリンシパルは適切な特権を持っています。

エラーメッセージ

PAM-KRB5: Kerberos V5 認証に失敗しました: パスワードが正しくありません。
(PAM-KRB5: Kerberos V5  authentication failed: password incorrect)
原因

UNIX パスワードと Kerberos パスワードが異なっています。ほとんどの Kerberos 化されていないコマンド (login など) は、自動的に UNIX パスワードと同じパスワードを使用して Kerberos で認証するように PAM を通じて設定されています。パスワードが異なっている場合、Kerberos 認証は失敗します。

解決方法

プロンプトが出たら、Kerberos パスワードを入力してください。

エラーメッセージ

パスワードはパスワード辞書にあります。
(Password is in the password dictionary)
原因

入力したパスワードは、使用しているパスワード辞書に存在しています。パスワードとしては適切ではありません。

解決方法

パスワードクラスを混合したパスワードを選択します。

エラーメッセージ

リプレイキャッシュコードでアクセス権がありません。
(Permission denied in replay cache code)
原因

システムの再実行キャッシュを開くことができませんでした。最初に、現在のユーザー ID とは異なるユーザー ID でサーバーが実行された可能性があります。

解決方法

再実行キャッシュが適切なアクセス権を持っていることを確認します。再実行キャッシュは、Kerberos 化されたサーバーアプリケーションが動作しているホスト (/usr/tmp/rc_service_name) に格納されています。現在の再実行キャッシュのアクセス権を変更する代わりに、再実行キャッシュを削除してから、異なるユーザー ID で Kerberos 化されたサーバーを実行することもできます。

エラーメッセージ

プロトコルバージョンが一致していません。
(Protocol version mismatch)
原因

Kerberos V4 の要求が KDC に送信された可能性があります。SEAM は Kerberos V5 プロトコルだけをサポートします。

解決方法

ユーザーのアプリケーションが Kerberos V5 プロトコルを使用していることを確認します。

エラーメッセージ

要求は再送です。
(Request is a replay)
原因

すでに要求はこのサーバーに送信され処理されています。チケットが横取りされた可能性があり、誰かがそのチケットを再度使用しようとしています。

解決方法

数分間待ってから、要求を再発行します。

エラーメッセージ

要求したプリンシパルとチケットは一致しません。
(Requested principal and ticket don't match)
原因

接続しているサービスプリンシパルと所有しているサービスチケットが一致しません。

解決方法

DNS が適切に機能していることを確認します。別のベンダーのソフトウェアを使用している場合、そのソフトウェアがプリンシパル名を正しく使用していることを確認します。

エラーメッセージ

要求したプロトコルバージョンはサポートされていません。
(Requested protocol version not supported)
原因

Kerberos V4 の要求が KDC に送信された可能性があります。SEAM は Kerberos V5 プロトコルだけをサポートします。

解決方法

ユーザーのアプリケーションが Kerberos V5 プロトコルを使用していることを確認します。

エラーメッセージ

kadmin インタフェースを初期化中に、必須のパラメータが  krb5.conf にありません。
(Required parameters in krb5.conf missing while initializing kadmin interface)
原因

krb5.conf ファイルで一部のパラメータ (admin_server パラメータなど) が見つかりません。

解決方法

見つからないパラメータを確認し、krb5.conf に追加します。

エラーメッセージ

サーバーが暗号化のネゴシエーションを拒否しました。終了します。
(Server refused to negotiate encryption. Good bye.)
原因

暗号化について、サーバーとネゴシエーションできませんでした。

解決方法

telnet コマンドの toggle encdebug を呼び出して認証デバッグを開始し、手がかりとなるようなデバッグメッセージを探します。

エラーメッセージ

サーバーが認証を拒否しました (sendauth 交換で)。
(Server rejected authentication (during sendauth exchange))
原因

通信しようとしているサーバーが認証を拒否しました。ほとんどの場合、このエラーは Kerberos データベースの伝達中に発生します。考えられる原因は、kpropd.acl ファイル、DNS、または keytab の問題である可能性があります。

解決方法

このエラーが kprop 以外のアプリケーションの実行中に発生した場合、サーバーの keytab が正しいかどうかを調べます。

エラーメッセージ

チケットはわれわれのものではありません。
 
または
 
チケット/オーセンティケータが一致しません。
(The ticket isn't for us
 
OR
 
Ticket/authenticator don't match)
原因

チケットとオーセンティケータ間で不一致がありました。サービスが非 FQDN を期待しているのに対し、チケットがプリンシパルの FQDN 名で送信されたために (あるいは、その逆のために)、要求中のプリンシパル名がサービスプリンシパル名と一致していない可能性があります。

解決方法

使用しているサービスプリンシパルが正しいことを確認します。

エラーメッセージ

チケットの有効期限が切れました。
(Ticket expired)
原因

チケットの有効期限が切れています。

解決方法

kdestroy でチケットを削除して、kinit で新しいチケットを作成します。

エラーメッセージ

チケットには遅延処理の資格がありません。
(Ticket is ineligible for postdating)
原因

プリンシパルはチケットが遅延することを許可しません。

解決方法

kadmin(1M) でプリンシパルが遅延を許可するように変更します。

エラーメッセージ

チケットはまだ有効ではありません。
(Ticket not yet valid)
原因

遅延チケットがまだ有効ではありません。

解決方法

日付を変更して新しいチケットを作成するか、現在のチケットが有効になるまで待ちます。

エラーメッセージ

不完全な入力ファイルを検出しました。
(Truncated input file detected)
原因

処理に使用されているデータベースダンプファイルが、完全なダンプファイルではありません。

解決方法

もう一度ダンプファイルを作成するか、異なるデータベースダンプファイルを使用します。

エラーメッセージ

Kerberos V5 を使って接続し、暗号化サービスを提供できません。
 
または
 
Kerberos V5 で接続できません。通常の rlogin を使用します。
(Unable to connect with Kerberos V5 and provide encryption service
 
OR
 
Unable to connect with Kerberos V5, using normal rlogin)
原因

サーバー上において、Kerberos 化されたセッションを適切なサービス (rshrcp の場合は kshellrlogin の場合は eklogin または klogin) で確立できませんでした。資格が無効である可能性があります。

解決方法
  1. 資格が有効であることを確認します。kdestroy でチケットを削除して、kinit で新しいチケットを作成します。

  2. ターゲットのホストの keytab が正しいバージョンのサービス鍵を持っていることを確認します。まず、kadmin(1M) を使用して、Kerberos データベースにあるサービスプリンシパル (たとえば、host/FQDN_hostname) の鍵バージョン番号を表示します。そして、ターゲットのホスト上で klist -k を実行して、同じ鍵バージョン番号を持っていることを確認します。

  3. ターゲットのホスト上にある /etc/inetd.conf に、サービス (klogineklogin、および kshell) のエントリが存在していることを確認します。

エラーメッセージ

ユーザーを安全に認証できません... 終了します。
(Unable to securely authenticate user ... exit)
原因

認証について、サーバーとネゴシエーションできませんでした。

解決方法

telnet コマンドの toggle authdebug を呼び出して認証デバッグを開始し、手がかりとなるようなデバッグメッセージを探します。また、資格が有効であることも確認します。

エラーメッセージ

要求したプリンシパルは正しくありません。
(Wrong principal in request)
原因

チケットに無効なプリンシパル名があります。DNS または FQDN の問題である可能性があります。

解決方法

サービスのプリンシパルがチケット内のプリンシパルと一致していることを確認します。

エラーメッセージ

チェックサムサポートのない古い Kerberos5 クライアントが使用されています。
それより新しいクライアントしか許可されません。
(You are using an old Kerberos5 client without checksum support; 
only newer clients are authorized.)
原因

チェックサム付きの認証について、クライアントとネゴシエーションできませんでした。クライアントが初期接続をサポートしていない古い Kerberos V5 プロトコルを使用している可能性があります。

解決方法

クライアントが初期接続をサポートしている Kerberos V5 プロトコルを使用していることを確認します。

SEAM における問題の解決

この節では、SEAM ソフトウェアで発生する問題の解決方法を示します。

krb5.conf ファイルのフォーマットに関する問題

krb5.conf ファイルが適切にフォーマットされていない場合、telnet コマンドは失敗します。しかし、krb5.conf ファイルをコマンドに対し正しく指定した場合、dtloginlogin コマンドは成功します。この問題が発生した場合、次のエラーメッセージが表示されます。


krb5 初期化中にエラー: Kerberos 構成ファイルのフォーマットが不適切です。
(Error initializing krb5: Improper format of Kerberos configuration)

krb5.conf ファイルのフォーマットに問題がある場合、セキュリティが侵害される可能性が高くなります。この問題は SEAM 機能を使用する前に解決しておかなければなりません。

Kerberos データベースの伝達に関する問題

Kerberos データベースの伝達に失敗した場合、スレーブ KDC とマスター KDC 間で (あるいは、その逆で)、/usr/krb5/bin/rlogin -x を実行してください。


注 -

アクセスを制限するように KDC を設定している場合、rlogin は無効となるため、この問題を解決する目的には使用できません。KDC への rlogin を有効にするには、/etc/inetd.conf ファイルにある eklogin エントリのコメントを解除して、次のように inetd を再起動します。


# ps -eaf | grep inetd       inetd のプロセス ID が表示される。
# kill -1 pid_of_inetd

問題が解決した後は、inetd.conf ファイルを元の状態に変更して、もう一度 inetd を再起動する必要があります。


rlogin が動作しない場合、KDC の keytab に問題がある可能性があります。rlogin が動作する場合、rlogin と伝達ソフトウェアは同じ host/host_name プリンシパルを使用するため、keytab またはネームサービスに問題はありません。この場合、kpropd.acl ファイルが正しいことを確認します。

Kerberos 化された NFS ファイルシステムのマウントに関する問題

この例では、異なるインタフェースへの 1 つの参照を許可して、サーバーの keytab にある 3 つのサービスプリンシパルではなく、1 つのサービスプリンシパルを許可するように設定しています。

root の認証に関する問題

すでに root プリンシパルをホストの keytab に追加しているのにもかかわらず、ユーザーのシステム上でスーパーユーザーになろうとしたときに認証が失敗した場合、考えられる問題は 2 つあります。まず、keytab 内の root プリンシパルがそのインスタンスとして完全指定名を持っていることを確認します。その場合、/etc/resolv.conf ファイルを調べて、システムが DNS クライアントとして正しく設定されていることを確認します。