Samba 4 e SSH sem senha

2

Tenho uma pergunta para o Samba 4 e o Kerberos. Eu tive um SSH funcional com SSO. Mas agora, quando eu instalei o Samba 4, não funciona e parece que ninguém encontrou nenhuma solução ainda. Acabei de ler, que foi realmente difícil e complicado ou No Windows tudo funciona bem, mas no Linux ainda não tenho sucesso e assim por diante.

O problema é que o Samba 4 implementa o Kerberos de maneira diferente. E parece ser de alguma forma incompatível com ferramentas Linux como o SSH. Quando executo sshd no modo de depuração, vejo que ele escreve:

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

Mas não consigo adicionar esse principal ao banco de dados principal do Samba. (Embora não exista, o samba-tool spn add escreve que é afetado por outro usuário.)

Meu post pode parecer confuso, mas eu tenho que dizer que eu não entendo exatamente ainda, qual é o problema e posso usar no meu texto alguns termos errados. Você tem alguma experiência com o cliente Samba 4 e SSH trabalhando sem senha? Você já teve sucesso no Samba 4 e SSO no cliente Linux?

Muito obrigado por qualquer dica ou explicação. (Eu estou usando o Debian Squeeze, o Bolbro é a máquina, o Samba 4 e o SSHD são executados. O mesmo problema afeta o ksu também.)

    
por K. T. Schnikow 12.05.2013 / 19:48

1 resposta

2

Infelizmente, ainda não encontrei a solução deste problema, mas algo semelhante funciona no meu computador agora. Para fazer com que o NSLCD funcione usando o GSSAPI, eu fiz esses comandos no lado do servidor:

#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

Cada entidade de segurança ( nslcd ) é atribuída a uma máquina ( bolbro.barbucha.local ) e o serviço que usa esse SPN é autenticado como um usuário ( ldap-connect ). Sempre pode haver apenas um principal de segurança serviço> / . Você não pode criar nslcd/bolbro.barbucha.local novamente e atribuí-lo a outro usuário. A entidade de segurança host/bolbro.barbucha.local já existe. Acho que hoje, basta exportar a tabela de chaves do usuário, ao qual o SPN crítico está atribuído.

Veremos…

Heuréka!

Encontrei a solução hoje (2014-03-02). Sim, é mesmo verdade. Eu fiz estes passos:

  • ingressou no cliente para o domínio: net ads join -U administrator , onde net é um dos utilitários Samba
  • não comentado em /etc/ssh/sshd_config no lado do servidor e /etc/ssh/ssh_config no lado do cliente na linha GSSAPIAuthentication no e sobrescrito no com yes ; ativada de forma semelhante GSSAPIDelegateCredentials no lado do cliente
  • executado em ambos os lados, comande net ads keytab create para exportar as chaves necessárias para /etc/krb5.keytab
  • nome do servidor totalmente qualificado adicionado em /etc/hosts no lado do servidor

Eu não sei porque, mas quando executei sshd no lado do servidor no modo de depuração ( /usr/sbin/sshd -d ), vi uma mensagem dizendo que nenhuma entrada de tabela de chaves foi encontrada. bolbro @ . O nome do servidor esperado (listado por klist -k /etc/krb5.keytab no lado do servidor) é bolbro.barbucha.local . Para anexar o endereço IP do servidor e o nome totalmente qualificado bolbro.barbucha.local to /etc/hosts resolveu o problema.

    
por 26.02.2014 / 21:48