我对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就被分配给了。
我们拭目以待…
我今天find了解决scheme(2014-03-02)。 是的,事实确实如此。 我做了这些步骤:
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解决了这个问题。