在 CentOS7 上使用 Apache/PHP 进行 Kerberos 身份验证
Kerberos auth with Apache/PHP on CentOS7
我想使用 Apache 配置 Kerberos 身份验证 - 但没有成功。
看起来是 keytab 文件的问题。
当我运行:
klist -kte /path/to/website.HTTP.keytab
I get:
KVNO Timestamp Principal
---- ------------------- ------------------------------------------------------
12 01/01/1970 02:00:00 HTTP/website.domain@DOMAIN
那我运行:
kinit -k -t /path/to/website.HTTP.keytab HTTP/website.domain@DOMAIN
kinit: Client 'HTTP/website.domain@DOMAIN' not found in Kerberos database while getting initial credentials
知道哪里出了问题吗?
HTTP/website.domain@DOMAIN 是一个不完整的 SPN,这似乎是 kinit 找不到的最可能原因数据库中的 SPN。例如,完整的 SPN 如下所示:HTTP/website.domain@DOMAIN.COM。要修复,您将需要使用完全限定的语法重新创建密钥表。 Example:
ktpass -out HTTP.keytab -mapUser AD_Account_Name@DOMAIN.COM +rndPass -mapOp set +DumpSalt -crypto AES128-SHA1 -ptype KRB5_NT_PRINCIPAL -princ HTTP/website.domain@DOMAIN.COM
我想使用 Apache 配置 Kerberos 身份验证 - 但没有成功。 看起来是 keytab 文件的问题。
当我运行:
klist -kte /path/to/website.HTTP.keytab
I get:
KVNO Timestamp Principal
---- ------------------- ------------------------------------------------------
12 01/01/1970 02:00:00 HTTP/website.domain@DOMAIN
那我运行:
kinit -k -t /path/to/website.HTTP.keytab HTTP/website.domain@DOMAIN
kinit: Client 'HTTP/website.domain@DOMAIN' not found in Kerberos database while getting initial credentials
知道哪里出了问题吗?
HTTP/website.domain@DOMAIN 是一个不完整的 SPN,这似乎是 kinit 找不到的最可能原因数据库中的 SPN。例如,完整的 SPN 如下所示:HTTP/website.domain@DOMAIN.COM。要修复,您将需要使用完全限定的语法重新创建密钥表。 Example:
ktpass -out HTTP.keytab -mapUser AD_Account_Name@DOMAIN.COM +rndPass -mapOp set +DumpSalt -crypto AES128-SHA1 -ptype KRB5_NT_PRINCIPAL -princ HTTP/website.domain@DOMAIN.COM