Eu tenho um host debian squeeze no qual não consigo fazer login com o kerberos sem um prompt de senha. Um host ubuntu 12.04 configurado de forma idêntica funciona bem e pode efetuar login sem obter uma solicitação de senha.
Após um kinit, o klist fornece:
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: boti@REALM
Valid starting Expires Service principal
14/02/2013 16:37 15/02/2013 16:37 krbtgt/REALM@REALM
Agora, quando tento efetuar login através do ssh no debian-squeeze, recebo o prompt de senha. Se eu verificar meus tickets neste momento sem fazer uma autenticação, recebo:
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: boti@REALM
Valid starting Expires Service principal
14/02/2013 16:37 15/02/2013 16:37 krbtgt/REALM@REALM
14/02/2013 16:38 15/02/2013 16:37 host/debian-squeeze@
14/02/2013 16:38 15/02/2013 16:37 host/debian-squeeze@REALM
Então, obviamente, eu recebo um ingresso concedido. No entanto, o log de depuração ssh fornece:
Postponed gssapi-with-mic for boti from 192.168.255.98 port 59557 ssh2
debug3: mm_request_send entering: type 40
debug3: mm_request_receive_expect entering: type 41
debug3: mm_request_receive entering
debug3: monitor_read: checking request 40
debug1: Unspecified GSS failure. Minor code may provide more information
Wrong principal in request
Isso é bastante semelhante ao descrito aqui , aqui e neste relatório de erros .
Meu DNS está bom. Já tentei recriar os principais / chaves. Portanto, nenhuma das soluções ajudou que foram postadas lá.
Alguma dica?
linux
ssh
debian-squeeze
kerberos
b0ti
fonte
fonte
Respostas:
Na saída de amostra, vejo que você tem uma chave para um
debian-squeeze
- um nome de host sem pontos. Isso meio que prova que você configurou sua resolução reversa para apontar para o nome abreviado. Esse é realmente um nome que não é do FQDN que você vê ou foi editado para a pergunta?O Kerberos deve funcionar com qualquer um dos dois, mas você pode verificar se o host pensa que é chamado
debian-squeeze
. Verifique se a pesquisa forward -> reverse dentrodebian-squeeze
realmente resolvedebian-squeeze
:Eu realmente não ouvi falar do Kerberos sendo implantado com nomes abreviados; portanto, se você tiver uma escolha, pode ser uma boa ideia manter os FQDNs.
Atualizar:
No momento, o cliente está obtendo uma chave para o nome abreviado, mas o servidor acha que é nomeado corretamente com um nome longo. Provavelmente o problema está aí. Só para ter certeza, tente o seguinte:
Verifique a consulta de nome de avanço / reverso do cliente. Ou seja,
O nome retornado é aquele para o qual o cliente tentará obter um ticket. A julgar pela sua saída, este é provavelmente o nome abreviado.
Verifique quais chaves estão presentes no servidor.
Na lista, você deve ver um principal que corresponde ao nome do host do comando anterior. Se não estiver lá, esse é o seu problema. Se estiver lá ...
Verifique se a versão da chave no servidor kerberos é a mesma que a versão
debian-squeeze
. No cliente, obtenha uma chave explicitamente e verifique a versão "KVNO" no final da linha:De qualquer forma, o nome do host e a versão "kvno" em todos esses comandos devem corresponder.
fonte
hostname
. O IP é mapeado de volta para o FQDN, então o comando que você deu retorna 'debian-squeeze.realm'. Como uma observação lateral: tenho duas chaves configuradas para esse host, uma para o fqdn e outra para o nome abreviado. Isso poderia estar atrapalhando?Vi esse erro quando o / etc / hosts no servidor inclui uma entrada para seu endereço IP que não corresponde ao que está no DNS ou no keytab. Você verificou (ou removeu) todas as entradas não localhost de / etc / hosts?
fonte