Active-Directory
GSSAPI 錯誤:KDC 不支持加入多域 AD 林的 RHEL 8 上的加密類型
我有一個簡單的 MS ADDS 多域林設置,帶有一個父域和一個子域。我使用這個官方文件成功地將 RHEL 8 伺服器加入了子域。所有作業系統都已通過使用盡可能多的預設值進行設置。我可以通過使用子域的 AD 帳戶成功 SSH 到 RHEL 伺服器。但是當我嘗試使用父域的帳戶時,登錄失敗。我一送出父域的使用者名,就
journalctl
報如下錯誤:sssd_be[...]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (KDC has no support for encryption type)
我檢查了每個域的 DC,可以確認所有 DC 都支持相同的三種預設加密類型(儲存在
msDS-SupportedEncryptionTypes
每個 DC 電腦帳戶的屬性中):
- RC4_HMAC_MD5
- AES128_CTS_HMAC_SHA1_96
- AES256_CTS_HMAC_SHA1_96
我還確認 RHEL 8 提供了合適的加密類型 (
/etc/crypto-policies/back-ends/krb5.config
):[libdefaults] permitted_enctypes = aes256-cts-hmac-sha1-96 aes256-cts-hmac-sha384-192 camellia256-cts-cmac aes128-cts-hmac-sha1-96 aes128-cts-hmac-sha256-128 camellia128-cts-cmac
因此,應該有兩個匹配項:
aes128-cts-hmac-sha1-96
和aes256-cts-hmac-sha1-96
。正如我已經說過的,它在子域中執行良好。那麼,為什麼沒有適合父域的加密類型呢?
AD 信任的屬性包括一個名為“其他域支持 Kerberos AES 加密”的屬性。預設情況下,未選中此選項。在這種情況下,這會導致父域無法為 Kerberos 提供 AES 加密類型。因此,唯一的選擇是
RC4_HMAC_MD5
。在 RHEL 8 上,RC4 加密已被預設棄用和禁用。因此,在 RHEL 和父域之間確實沒有可用於商定的加密類型。在選中“其他域支持 Kerberos AES 加密”選項後,身份驗證也適用於父域。