创建一个密钥表以在Windows中与kinit一起使用
我正在编写一个pGina插件,用于在登录时从我们的KDC获取AFS令牌和Kerberos TGT,同时写作我注意到kinit的一个“功能”是它不会让你提供任何输入,除非它来自键盘,我想到了只是重定向标准输入…
有人建议使用keytab文件作为主体,这看起来非常简单,直到我意识到我只在linux上使用kutil并且遇到了ktpass.exe的Windows版本的困难.我已经反复尝试使用大量参数组合来创建keytab但到目前为止绝对没有成功,我发出的当前命令是: ktpass / out key.tab / mapuser user$@MERP.EDU / princ user.merp.edu@MERP.EDU / crypto RC4-HMAC-NT / ptype KRB5_NT_PRINCIPAL / pass mahpasswordlol / target MERP.EDU 不幸的是,这些产出都是 使用传统密码设置方法 失败:ldap_bind_s失败:0x31 根据我的研究,根据我的研究是认证/加密问题,我已经尝试了其他DES设置,但这似乎也没有用……任何人都有任何经验/想法如何这可能工作? 解决方法
ktpass.exe确实很糟糕;我不使用它.相反,只需在Unix上使用ktutil,使用密码独立创建匹配的keytab,例如:
$ktutil ktutil: addent -password -p foo@BAR -k 1 -e aes128-cts-hmac-sha1-96 Password for foo@BAR: ktutil: l slot KVNO Principal ---- ---- --------------------------------------------------------------------- 1 1 foo@BAR ktutil: wkt /tmp/zz $klist -ek /tmp/zz Keytab name: WRFILE:/tmp/zz KVNO Principal ---- -------------------------------------------------------------------------- 1 foo@BAR (aes128-cts-hmac-sha1-96) LDAP绑定错误表示ktpass无法向域控制器验证您的身份;如果发生这种情况,您是否登录了域帐户?它必须是域帐户,而不是本地帐户(并且必须授权对AD进行必要的更改,但缺少这样会导致权限错误而不是绑定). FWIW,我们采取不同的方法:我们在Unix和AD领域之间使用跨领域信任.用户登录后获得的AD TGT足以获取Unix领域中的服务凭证;例如,我可以使用PuTTY SSH连接到Unix主机,Firefox / Chrome / IE用于验证Unix Web服务(Apache / mod_auth_kerb)等. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |