問題
CentOS/RHEL 6 クライアントを Active Directory ドメインに登録できず、adcli コマンドがランダムに失敗し、次のエラーがコンソールに書き込まれます:
Couldn't authenticate with keytab while discovering which salt to use: [SERVER$@DOMAIN_NAME]: KDC has no support for encryption type
次のエラーが同時に /var/log/messages に記録されます:
Feb 20 16:23:52 [hostname] [sssd[ldap_child[27134]]]: Failed to initialize credentials using keytab [MEMORY:/etc/krb5.keytab]: KDC has no support for encryption type. Unable to create GSSAPI-encrypted LDAP connection. Feb 20 16:23:52 [hostname] [sssd[ldap_child[27134]]]: KDC has no support for encryption type Feb 20 16:23:53 [hostname] sssd[be[AD_DOMAIN_NAME]]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (KDC has no support for encryption type) Feb 20 16:23:53 [hostname] sssd[be[AD_DOMAIN_NAME]]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (KDC has no support for encryption type)
ただし、adcli コマンドを使用してサーバーを登録しようとする後続の試行が正常に完了し、CentOS/RHEL クライアントに構成変更が加えられていない場合があります。
解決策
Windows Active Directory ドメイン コントローラーは、ドメインの冗長性のためにクラスターとして構成されましたが、一部のドメイン コントローラーは特定の暗号化アルゴリズムを強制するように構成されていましたが、そうでないものもありました。
これは、CentOS/RHEL クライアントが特定の暗号化アルゴリズムを適用しているドメイン コントローラーと通信しようとした場合、ドメイン コントローラーが適用するように構成されたものとは異なる暗号化アルゴリズムを使用するように構成されている場合、Linux クライアントの sssd が失敗することを意味します。 .
一致する暗号化アルゴリズムを使用するように、Windows Active Directory ドメイン コントローラーと Linux クライアントの両方を構成します。 aes256-cts アルゴリズムが設定されている以下の例のように、Linux クライアントで暗号化アルゴリズムを構成するには、次の手順を実行してください:
1. 変更を加える前に、/etc/krb5.conf 構成ファイルをバックアップします。
2. /etc/krb5.conf の暗号化値を変更します へ:
allow_weak_crypto = false default_tkt_enctypes = aes256-cts default_tgs_enctypes = aes256-cts permitted_enctypes = aes256-cts
3. sssd サービスを再起動します:
CentOS/RHEL 6 の場合:
# service sssd restart
CentOS/RHEL 7 の場合:
# systemctl restart sssd.service
Windows ドメイン コントローラーで暗号化アルゴリズムを構成するには、Windows ドメイン コントローラーのシステム管理者に連絡してください。また、必要に応じて、関連するソフトウェア ベンダーである Microsoft に連絡してください。