TL;博士
首先:我的服务器名称是 xy。
第二:我登录的域是EXAMPLE.COM
第三:这是我的apache配置
<Location />
AuthType Kerberos
AuthName "Kerberos Login"
KrbServiceName HTTP
KrbMethodNegotiate On
KrbMethodK5Passwd Off
KrbAuthRealms EXAMPLE.COM
KrbSaveCredentials On
KrbVerifyKDC Off
KrbLocalUserMapping on
# This has to wait until we get the keytab file
Krb5Keytab /etc/apache2/satypo3.keytab
require valid-user
</Location>
第四:我生成keytab文件的方式是这样的:
ktpass
-princ HTTP/[email protected]
-mapuser [email protected]
-crypto AES256-SHA1
-ptype KRB5_NT_PRINCIPAL
-pass *PASS*
-out C:\temp\satypo3.keytab
第五:我的 /etc/hosts 文件包含 127.0.1.1 xy
第六:我在访问前端时遇到的错误如下:
[auth_kerb:error] [pid 4809] [client 192.168.3.170:56962] gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information (, Request ticket server HTTP/[email protected] not found in keytab (ticket kvno 6))
所以我没有得到的是,虽然我没有以任何方式指定任何关于 xy.example.com 的内容,但 Kerberos 尝试以此验证服务器并失败。
有任何想法吗?
长版:
我已经设置了一个 Apache Kerberos SSO 设置,因为多年来我在 DevOps 中的许多同行已经做过很多次了,现在我也在这一点上。
我已经遵循了很多像这样的很棒的演练,一切似乎都运行良好,直到用户尝试登录时,用户卡在登录弹出窗口的无限循环中。我尝试解决此处描述的问题,只是为了发现所有内容都已正确设置。
所以你是我最后的希望,请帮助我Serverfault。
问候蒂齐安
编辑主要代码是000d0000,错误的次要代码是96c73a23