我一直在绞尽脑汁,试图通过MIT Kerberos 5 Realm(在Arch Linux服务器上运行)进行Windows 7身份validation。
我已经完成了以下服务器(又名dc1):
addpol用户 addpolpipe理员 addpol主机 ank -policy users [email protected] ank -policy admin tom/[email protected] ank -policy hosts host / wdesk3.tnet.loc -pw MYPASSWORDHERE
然后,我做了以下的Windows 7客户端(又名wdesk3):
ksetup / SetRealm TNET.LOC ksetup / AddKdc dc1.tnet.loc ksetip / SetComputerPassword MYPASSWORDHERE ksetip / MapUser * *
但是在做完所有这些之后,我仍然无法从我的Windows客户端login。 🙁
查看服务器上的日志; 请求看起来不错,一切正常,我认为问题是从Windows客户端无法识别KDC的响应,并出现一个通用的login错误:“login失败:用户名或密码无效”。
服务器的日志文件看起来像这样(我给了这个,所以我知道这是在Windows机器尝试login时发生的):Screen-shot: http : //dl.dropbox.com/u/577250/email/login_attempt巴纽
如果我在login窗口中提供了一个无效的领域,我得到一个完全不同的错误消息,所以我不认为这是从客户端到服务器的连接问题? 但是我在Windows机器上找不到任何错误日志? (谁知道这些在哪里?)
如果我尝试: runas / netonly /user:[email protected] cmd.exe一切正常(尽pipe我没有得到任何东西出现在服务器日志中,所以我想知道是否它不接触这个服务器??) ,但是如果我运行: runas /user:[email protected] cmd.exe我得到相同的authentication错误。
任何Kerberos Guru在那里谁可以给我一些想法接下来要尝试什么? 好吗?
退房pGina 。 它没有Kerberos插件,所以你必须写一个。 或者,您可以使用OpenLDAP作为代理,并使用pGina LDAP插件。
显然,如果您有Windows客户端,则绝对需要AD,因为Windows客户端需要对AD附加的标准Kerberos票据进行小扩展。
MIT Kerberos Server目前无法自行validationWindows客户端。
(在MIT Kerberos新闻组上检索到的信息)
@ jyvenard – 可能最终做的是使用SSH或其他方法来validation他的盒子。 如果他使用SSH(我可能会在这种情况下做的),那么他可能有他authentication的主机使用Kerberos。
在这样一个方法中:
[客户端] –ssh – > [主机] – 对ssh的支持 – > [KDC服务器]
[客户端] < – ssh– [主机] < – 成功或失败 – [KDC服务器]
这使用Kerberos来validation用户到他的客户端系统,试图ssh到一个主机,试图validation他的凭据对KDC,但一个Kerberos票据从来没有真正被客户获得,只有在ssh会话上成功或失败。
这是可能的,但正如下面的文件所示,您将需要将本地用户映射到kerberos pricipals。
我想有些forms的login脚本可以用来dynamic地做到这一点。 login窗口是一个独立的过程。 如ptman所示,pGina可能会对此有所帮助。
使用MIT KDC和独立的Windows 2000工作站
对于Windows 2000工作站使用Kerberos KDC,您必须configurationKerberos KDC服务器和工作站,如下所述。
configurationKerberos KDC服务器和Windows 2000工作站
运行Ksetup实用程序来configurationKerberos KDC服务器和领域(有关详细信息,请参阅本文档后面的Ksetup部分)。
Kadmin q“ank pw密码主机/ machine-name.dns-domain_name”
例如,如果Windows 2000工作站名称是W2KW,并且Kerberos领域名称是REALM.RESKIT.COM,则主体名称是host / w2kw.realm.reskit.com。
Kadmin是MIT Kerberos发行版的一部分。
C:> Ksetup / setdomain REALM.RESKIT.COM
C:> Ksetup / addkdc REALM.RESKIT.COM kdc.realm.reskit.com
C:> Ksetup / setmachpassword密码
重新启动计算机以使更改生效。 (这是必需的步骤。)只要对外部KDC和领域configuration进行更改,就需要重新启动。
使用Ksetup将单一loginconfiguration到本地工作站帐户。 定义帐户映射; 这将把本地计算机帐户映射到Kerberos主体。 例如:
C:> Ksetup / mapuser [email protected]客人C:> Ksetup / mapuser * *
请注意,第二个命令将客户端映射到同名的本地帐户。
使用没有参数的Ksetup来查看当前设置。 (请注意,KDC服务器[s]未显示。)