我有一些关于使用keytab进行身份验证的问题,希望这里的人能够帮助我
比如,我有userA谁将使用在端口1010上运行的服务.首先,userA将登录到Active Directory以验证自己.
登录后,userA将尝试连接到服务器以使用其服务1010.为了使服务器验证UserA是谁,我需要使用setspn在Active Directory中注册SPN.例如
setspn -s service1010/mydomain.com serviceaccount1
然后需要在Active目录下生成ktab文件,例如
ktab -a serviceprincal1010/server.domain.com@DOMAIN.COM -k mykeytab.keytab
然后将mykeytab.keytab带到服务器.
在服务器上,我会使用带有登录配置的JAAS来查询KDC,例如
ServicePrincipalLoginContext
{
com.sun.security.auth.module.Krb5LoginModule required
principal=serviceprincal1010/server.domain.com@DOMAIN.COM
doNotPrompt=true useKeyTab=true keyTab=mykeytab.keytab storeKey=true;
};
从这一刻起,我很困惑. userA如何得到验证(即,userA实际上是谁?).