Apache2,Kerberos:gss_accept_sec_context()失败:请求不支持的机制

我想用mod_auth_kerb在Linux上使用Kerberos和Apache 2。

我添加.htaccess我的项目如下:

#SSLRequireSSL AuthType Kerberos AuthName "Kerberos Login" KrbMethodNegotiate On KrbMethodK5Passwd Off KrbAuthRealms DOMAIN.COM Krb5KeyTab /etc/httpd/httpd.keytab KrbLocalUserMapping On require valid-user 

当我试图在IE或Firefox上testing我的单一login时,在apache日志中出现以下错误:

 [Thu Jan 19 21:03:27 2012] [error] [client 10.65.0.1] gss_accept_sec_context() failed: An unsupported mechanism was requested (, Unknown error) 

我不知道这是什么,也不知道该怎么做。

我的目标是让REMOTE_USER被AD用户名所填充。 但是现在因为这个错误我什么也做不了

校长有问题。 我重新创build/etc/httpd/httpd.keytab,并正确添加HTTP principial,所有工作正常!

我发现了这个错误的另一个原因:
Windows尝试使用NTLM进行身份validation。 其实这是问题的根源。

我不明白如何重新创build密钥表帮助,错误将是“没有find密钥表入口”的行。
当Windows无法从KDC获取票证时,Windows会尝试通过NTLM进行身份validation。
对我来说,原因是我的服务器不在同一个领域。 该域名是ad.domain.com ,但我的服务器位于something.domain.com 。 我相信你也可以以某种方式允许,但简单的解决方法是简单地改变指向服务器的主机名(然后为该域创build一个新的密钥表)。