Estou configurando a autenticação Kerberos para o protocolo Alfresco CIFS totalmente implementado em Java (projeto JLAN). Essa não é a primeira vez, eu costumava configurá-lo em um único tiro.
Na mesma rede, com um ActiveDirectory Windows 2008R2 e o mesmo procedimento, eu já fiz com sucesso a configuração para dois ambientes, mas o ambiente de produção me causa problemas.
O keytab de produção foi gerado por ktpass
no ActiveDirectory com RC4-HMAC , como em outros ambientes. A conta AlfrescoCifsP
é dedicada para produção e para este único serviço:
ktpass -princ cifs/[email protected]
-mapuser MYDOMAIN\AlfrescoCifsP -pass <password>
-crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -out c:\temp\prod.keytab
Agora eu tento usá-lo em RedHat 5.8 com bibliotecas e utilitários MIT Kerberos na versão 1.6.1-70-el4 e recebi o seguinte erro:
$ kinit -k -t prod.keytab cifs/myserver.mydomain.com
kinit(v5): Key table entry not found while getting initial credentials
Aqui está o que eu verifiquei (muitas vezes):
- Meu
krb5.conf
está correto com o conjunto de regiões padrão
- Eu posso abrir
prod.keytab
com ktutil
e listar o espaço para cifs/myserver.mydomain.com
- posso autenticar com senha e comando
kinit cifs/myserver.mydomain.com
-
kvno cifs/myserver.mydomain.com
retorna o mesmo número de chave que da entrada keytab
- Eu também excluí a conta do ActiveDirectory e faço o material novamente. Ainda o mesmo resultado.
Então, tudo foi feito para ter sucesso. Foi com sucesso para duas contas de serviço e falhou para o terceiro. A única diferença pode ser o tamanho do SPN, que é um pouco mais longo do que para outros, mas muito menor que o limite de SPN de 260 caracteres.
Eu tenho straced o comando kinit -k -t prod.keytab cifs/...
e acabei de ver a operação de leitura no arquivo keytab e logo atrás da saída da mensagem de erro para o stderr.
Existe algum problema conhecido que corresponda ao meu problema em um ambiente semelhante?
Como diagnosticar a causa de origem deste problema?
Quais podem ser as principais razões para tal falha?
O que devo tentar na esperança de encontrar uma saída?