Este comando:
c:/> ktpass -princ HTTP/[email protected] -mapuser [email protected] -crypto rc4-hmac-nt -pass P@ssw0rd -ptype KRB5_NT_PRINCIPAL -out krb5.keytab
Acredito que define HTTP / [email protected] como uma entidade de serviço associada ao usuário [email protected] no AD. O Active Directory normalmente não permite que você se autentique como um principal de serviço (especificamente, não permite que ele adquira um TGT por meio de um AS_REQ); em teoria, os responsáveis pelo serviço devem ser para aceitar as credenciais do usuário, não para autenticar no domínio do kerberos.
Isso é diferente dos KDCs Unix, que normalmente não distinguem entre "principais de serviço" e "entidades de usuário" por padrão, permitindo a autenticação via kinit
. No Active Directory, em vez disso, o KDC finge que o principal não existe quando você tenta kinit
como ele, o que tende a ser bastante confuso.
Se você puder autenticar com êxito como qualquer outro usuário, tentarei testar se a entidade principal de serviço estiver funcionando executando:
$ kinit some_other_user
$ kvno HTTP/[email protected]
Que acaba de adquirir um ticket de serviço para HTTP/[email protected]. Ou você pode se autenticar como [email protected] em vez do diretor de serviço que você configurou.
Se você precisar de kinit
como HTTP/[email protected] diretamente, acho que é possível, mas é necessário alterar o atributo userPrincipalName na conta do AD relevante. Não me lembro no momento como conseguir isso, mas se bem me lembro, você só pode ter um tal UPN; você não pode ter vários nomes principais diferentes, você pode kinit
para a mesma conta.