ktpass
Configura o nome da entidade do servidor para o host ou serviço nos AD DS (Serviços de Domínio do Active Directory) e gera um arquivo .keytab que contém a chave secreta compartilhada do serviço. O arquivo .keytab baseia-se na implementação do protocolo de autenticação Kerberos pelo MIT (Massachusetts Institute of Technology). A ferramenta de linha de comando ktpass permite que serviços não Windows que dão suporte à autenticação Kerberos usem os recursos de interoperabilidade fornecidos pelo serviço do KDC (Centro de Distribuição de Chaves) Kerberos.
Sintaxe
ktpass
[/out <filename>]
[/princ <principalname>]
[/mapuser <useraccount>]
[/mapop {add|set}] [{-|+}desonly] [/in <filename>]
[/pass {password|*|{-|+}rndpass}]
[/minpass]
[/maxpass]
[/crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All}]
[/itercount]
[/ptype {KRB5_NT_PRINCIPAL|KRB5_NT_SRV_INST|KRB5_NT_SRV_HST}]
[/kvno <keyversionnum>]
[/answer {-|+}]
[/target]
[/rawsalt] [{-|+}dumpsalt] [{-|+}setupn] [{-|+}setpass <password>] [/?|/h|/help]
Parâmetros
Parâmetro | Descrição |
---|---|
/out <filename> |
Especifica o nome do arquivo .keytab da versão 5 do Kerberos a ser gerado. Observação: esse é o arquivo .keytab que você transfere para um computador que não está executando o sistema operacional Windows e, em seguida, substitui ou mescla com o arquivo .keytab existente, /Etc/Krb5.keytab. |
/princ <principalname> |
Especifica o nome da entidade de segurança no formato host/computer.contoso.com@CONTOSO.COM. Aviso: este parâmetro diferencia maiúsculas e minúsculas. |
/mapuser <useraccount> |
Mapeia o nome da entidade de segurança Kerberos, que é especificada pelo parâmetro princ, para a conta de domínio especificada. |
/mapop {add|set} |
Especifica como o atributo de mapeamento é definido.
|
{-|+} desonly |
A criptografia somente DES é definida por padrão.
|
/in <filename> |
Especifica o arquivo .keytab a ser lido de um computador host que não está executando o sistema operacional Windows. |
/pass {password|*|{-|+}rndpass} |
Especifica uma senha para o nome da entidade do usuário especificado pelo parâmetro princ. Use * para solicitar uma senha. |
/minpass | Define o comprimento mínimo da senha aleatória como 15 caracteres. |
/maxpass | Define o comprimento máximo da senha aleatória como 256 caracteres. |
/crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} |
Especifica as chaves geradas no arquivo keytab:
Observação: como as configurações padrão são baseadas em versões mais antigas do MIT, você sempre deve usar o parâmetro |
/itercount | Especifica a contagem de iteração usada para a criptografia AES. O padrão ignora itercount para a criptografia não AES e define a criptografia AES como 4.096. |
/ptype {KRB5_NT_PRINCIPAL|KRB5_NT_SRV_INST|KRB5_NT_SRV_HST} |
Especifica o tipo de entidade.
|
/kvno <keyversionnum> |
Especifica o número da versão da chave. O valor padrão é 1. |
/answer {-|+} |
Define o modo de resposta em segundo plano:
|
/target | Define qual controlador de domínio usar. O padrão é que o controlador de domínio seja detectado com base no nome da entidade de segurança. Se o nome do controlador de domínio não for resolvido, uma caixa de diálogo solicitará um controlador de domínio válido. |
/rawsalt | força ktpass a usar o algoritmo rawsalt ao gerar a chave. Esse parâmetro é opcional. |
{-|+}dumpsalt |
A saída desse parâmetro mostra o algoritmo de sal MIT que está sendo usado para gerar a chave. |
{-|+}setupn |
Define o nome UPN (nome da entidade de usuário) além do SPN (nome da entidade de serviço). O padrão é definir ambos no arquivo .keytab. |
{-|+}setpass <password> |
Define a senha do usuário, quando fornecida. Se rndpass for usado, uma senha aleatória será gerada. |
/? | Exibe a Ajuda para esse comando. |
Comentários
Os serviços em execução em sistemas que não estão executando o sistema operacional Windows podem ser configurados com contas de instância de serviço no AD DS. Isso permite que qualquer cliente Kerberos se autentique em serviços que não estão executando o sistema operacional Windows usando KDCs do Windows.
O parâmetro /princ não é avaliado pelo ktpass e é usado conforme fornecido. Não há nenhuma verificação para ver se o parâmetro corresponde ao caso exato do valor do atributo userPrincipalName ao gerar o arquivo Keytab. Distribuições Kerberos que diferenciam maiúsculas de minúsculas usando esse arquivo Keytab poderão ter problemas se não houver correspondência de caso exata e podem até falhar durante a pré-autenticação. Para verificar e recuperar o valor correto do atributo userPrincipalName de um arquivo de exportação LDifDE. Por exemplo:
ldifde /f keytab_user.ldf /d CN=Keytab User,OU=UserAccounts,DC=contoso,DC=corp,DC=microsoft,DC=com /p base /l samaccountname,userprincipalname
Exemplos
Para criar um arquivo .keytab Kerberos para um computador host que não esteja executando o sistema operacional Windows, mapeie a entidade de segurança para a conta e defina a senha da entidade de segurança do host.
Use o suplemento Usuário e computadores do Active Directory para criar uma conta de usuário para um serviço em um computador que não esteja executando o sistema operacional Windows. Por exemplo, crie uma conta com o nome User1.
Use o comando ktpass para configurar um mapeamento de identidade para a conta de usuário digitando:
ktpass /princ host/User1.contoso.com@CONTOSO.COM /mapuser User1 /pass MyPas$w0rd /out machine.keytab /crypto all /ptype KRB5_NT_PRINCIPAL /mapop set
Observação
Não é possível mapear várias instâncias de serviço para a mesma conta de usuário.
Mescle o arquivo .keytab com o arquivo /Etc/Krb5.keytab em um computador host que não esteja executando o sistema operacional Windows.