根据MIT KerberosvalidationWindows 7 5

我一直在绞尽脑汁,试图通过MIT Kerberos 5 Realm(在Arch Linux服务器上运行)进行Windows 7身份validation。

我已经完成了以下服务器(又名dc1):

  • 安装并configuration了NTP时间服务器
  • 安装和configurationDHCP和DNS(设置域tnet.loc)
  • 从源代码安装Kerberos
  • 设置数据库
  • configuration密钥表
  • 设置ACL文件: * @ TNET.LOC *
  • 为我的用户和我的机器添加了一个策略:
 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):

  • 确保IP地址是由我的DHCP服务器提供的,dc1.tnet.loc确定
  • 设置互联网时间服务器到我的Linux服务器(又名dc1.tnet.loc)
  • 使用ksetup来configuration领域:
  ksetup / SetRealm TNET.LOC
 ksetup / AddKdc dc1.tnet.loc
 ksetip / SetComputerPassword MYPASSWORDHERE
 ksetip / MapUser * * 
  • 经过一番search之后,我发现默认情况下Windows 7禁用了DESencryption,并且我打开了策略以支持Kerberos上的DESencryption
  • 然后我重新启动了Windows客户端

但是在做完所有这些之后,我仍然无法从我的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工作站

  1. 运行Ksetup实用程序来configurationKerberos KDC服务器和领域(有关详细信息,请参阅本文档后面的Ksetup部分)。

    • 在Kerberos领域,为计算机创build主机主体。 使用命令:

    Kadmin q“ank pw密码主机/ machine-name.dns-domain_name”

    例如,如果Windows 2000工作站名称是W2KW,并且Kerberos领域名称是REALM.RESKIT.COM,则主体名称是host / w2kw.realm.reskit.com。

    Kadmin是MIT Kerberos发行版的一部分。

    • 由于Kerberos领域不是Windows 2000域,因此必须将计算机configuration为工作组的成员。 这是自动设置Kerberos领域并添加KDC服务器,如下所示:
      C:> Ksetup / setdomain REALM.RESKIT.COM 
      C:> Ksetup / addkdc REALM.RESKIT.COM kdc.realm.reskit.com 
    • 设置本地计算机帐户密码,如下所示:
      C:> Ksetup / setmachpassword密码 
  2. 重新启动计算机以使更改生效。 (这是必需的步骤。)只要对外部KDC和领域configuration进行更改,就需要重新启动。

  3. 使用Ksetup将单一loginconfiguration到本地工作站帐户。 定义帐户映射; 这将把本地计算机帐户映射到Kerberos主体。 例如:

      C:> Ksetup / mapuser [email protected]客人C:> Ksetup / mapuser * * 

    请注意,第二个命令将客户端映射到同名的本地帐户。

  4. 使用没有参数的Ksetup来查看当前设置。 (请注意,KDC服务器[s]未显示。)