我正在为一个应用程序设置kerberos身份验证。 Active Directory已安装在Windows Server 2012 R2上,并且我正在未添加到域的centos计算机上生成keytab文件。
我可以使用以下命令成功测试生成的密钥表文件
kinit -k -t /tmp/hirosrv.keytab hirosrv@HIRO.COM
在Windows计算机上创建的安全事件为:
已请求Kerberos身份验证票证(TGT)。
帐户信息:帐户名称:hirosrv提供的领域 名称:HIRO.COM用户ID:HIRO \ hirosrv
服务信息:服务名称:krbtgt服务ID:HIRO \ krbtgt
网络信息:客户端地址:10.XX.XX.2客户端端口:37142
其他信息:票证选项:0x40800000结果 代码:0x0票证加密类型:0x17预身份验证类型:2
证书信息:证书颁发者名称:证书 序列号:证书指纹:
仅当证书用于以下情况时才提供证书信息 预认证。
以下是klist -A
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: hirosrv@HIRO.COM
Valid starting Expires Service principal
12/03/18 16:26:48 12/04/18 02:26:48 krbtgt/HIRO.COM@HIRO.COM
renew until 12/10/18 16:26:48
相同的服务主体与用户帐户关联:
PS C:\Users\administrator> setspn.exe -Q krbtgt/HIRO.COM
Checking domain DC=hiro,DC=com
CN=hirosrv,CN=Users,DC=hiro,DC=com
krbtgt/HIRO.COM
krbtgt/HIRO.COM@HIRO.COM
Existing SPN found!
应用程序配置为使用keytab文件进行身份验证,但出现以下错误:
ERR_S_PRINCIPLE_UNKNOWN(7) error.