桑巴4和SSH没有密码

我对Samba 4和Kerberos有个疑问。 我有一个functionSSH与SSO。 但是现在,当我安装Samba 4时,它不起作用,似乎没有人find任何解决scheme。 我刚刚读到,这是非常困难和复杂的,或者在Windows上工作正常,但在Linux上我还没有成功 ,等等。

问题是,Samba 4以不同的方式实现Kerberos。 而且它似乎与某些Linux工具(如SSH)不兼容。 当我在debugging模式下运行sshd时,我发现它写道:

 debug1: Unspecified GSS failure. Minor code may provide more information No key table entry found matching host/bolbro.barbucha.local@ 

但是我不能将这样的主体添加到Samba主体数据库中。 (虽然它不存在,但是samba-tool spn add写道它受到另一个用户的影响。)

我的post可能听起来有些困惑,但是我不得不说,我还不完全明白,怎么回事,在我的文章中可能会用到一些错误的术语。 Samba 4和SSH客户端在没有密码的情况下工作吗? 你有没有在Linux客户端的Samba 4和SSO上成功?

任何暗示或解释都非常感谢。 (我使用Debian Squeeze,Bolbro是机器,Samba 4和SSHD运行,同样的问题也影响了ksu 。)

遗憾的是还没有find这个问题的解决scheme,但现在我的电脑上有类似的东西。 为了让NSLCD使用GSSAPI工作,我在服务器端做了这些命令:

 #create an user with a random password samba-tool user add --random-password ldap-connect #the password must not expire samba-tool user setexpiry --noexpiry ldap-connect #create a SPN (security principal name) samba-tool spn add nslcd/bolbro.barbucha.local ldap-connect #export key table of the user ldap-connect samba-tool domain exportkeytab krb5.nslcd.keytab --principal=ldap-connect 

每个安全主体( nslcd )都分配给一台计算机( bolbro.barbucha.local ),使用此SPN的服务作为用户进行身份validation( ldap-connect )。 总是只有一个安全主体<service> / <machine> 。 您不能再次创buildnslcd/bolbro.barbucha.local并将其分配给其他用户。 安全主体host/bolbro.barbucha.local已经存在。 我今天的事情是,只需输出用户的密钥表就足够了,关键的SPN就被分配给了。

我们拭目以待…

Heuréka!

我今天find了解决scheme(2014-03-02)。 是的,事实确实如此。 我做了这些步骤:

  • join客户端的域: net ads join -U administrator ,其中net是Samba实用程序之一
  • 在服务器端的/etc/ssh/sshd_config和客户端的/etc/ssh/ssh_config GSSAPIAuthentication no ,行GSSAPIAuthentication no ,覆盖no ; 在客户端启用类似的GSSAPIDelegateCredentials
  • 执行双方命令net ads keytab create为了导出所需的密钥到/etc/krb5.keytab
  • 将完全限定的服务器名称添加到服务器端的/etc/hosts

我不知道为什么,但是当我在debugging模式下( /usr/sbin/sshd -d )在服务器端执行sshd时,我看到一条消息, 没有find与host / bolbro @匹配的键表项 。 预期的服务器名称(在服务器bolbro.barbucha.local klist -k /etc/krb5.keytab列出)是bolbro.barbucha.local 。 将服务器的IP地址和完全限定名bolbro.barbucha.local/etc/hosts解决了这个问题。