在CentOS7上使用Apache / PHP进行Kerberos验证

时间:2017-08-06 13:49:10

标签: apache authentication kerberos

我想用Apache配置Kerberos auth - 但没有成功。 它看起来与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 

任何想法出了什么问题?

1 个答案:

答案 0 :(得分:0)

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