Partilhar via


ktpass

Configura o nome da entidade de segurança do servidor para o host ou serviço nos Serviços de Domínio Ative Directory (AD DS) e gera um arquivo .keytab que contém a chave de segredo compartilhado do serviço. O arquivo .keytab é baseado na implementação do protocolo de autenticação Kerberos do Massachusetts Institute of Technology (MIT). A ferramenta de linha de comando ktpass permite que serviços que não sejam do Windows que oferecem suporte à autenticação Kerberos usem os recursos de interoperabilidade fornecidos pelo serviço Centro de Distribuição de Chaves Kerberos (KDC).

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 Kerberos versão 5 a ser gerado. Nota: Este é 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 seu arquivo .keytab existente, /Etc/Krb5.keytab.
/princ <principalname> Especifica o nome principal no formulário host/computer.contoso.com@CONTOSO.COM. Aviso: Este parâmetro diferencia maiúsculas de minúsculas.
/map usuário <useraccount> Mapeia o nome da entidade de Kerberos, que é especificado pelo parâmetro princ, para a conta de domínio especificada.
/mapop {add|set} Especifica como o atributo de mapeamento é definido.
  • Adicionar - Adiciona o valor do nome de usuário local especificado. Este é o padrão.
  • set - Define o valor da criptografia somente DES (Data Encryption Standard) para o nome de usuário local especificado.
{-|+}desonly A criptografia somente DES é definida por padrão.
  • + Define uma conta para criptografia somente DES.
  • - Libera a restrição em uma conta para criptografia somente DES. Importante: Windows não suporta DES por padrão.
/em <filename> Especifica o arquivo .keytab a ser lido de um computador host que não esteja executando o sistema operacional Windows.
/passe {password|*|{-|+}rndpass} Especifica uma senha para o nome de usuário principal especificado pelo parâmetro princ. Use * para solicitar uma senha.
/minpass Define o comprimento mínimo da senha aleatória para 15 caracteres.
/maxpass Define o comprimento máximo da senha aleatória para 256 caracteres.
/{DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} de criptografia Especifica as chaves geradas no arquivo keytab:
  • DES-CBC-CRC - Usado para compatibilidade.
  • DES-CBC-MD5 - Adere mais de perto à implementação MIT e é usado para compatibilidade.
  • RC4-HMAC-NT - Emprega criptografia de 128 bits.
  • AES256-SHA1 - Emprega criptografia AES256-CTS-HMAC-SHA1-96.
  • AES128-SHA1 - Emprega criptografia AES128-CTS-HMAC-SHA1-96.
  • All - Indica que todos os tipos criptográficos suportados podem ser usados.

Nota: Como as configurações padrão são baseadas em versões mais antigas do MIT, você sempre deve usar o parâmetro /crypto.

/itercount Especifica a contagem de iteração usada para criptografia AES. O padrão ignora itercount para 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 principal.
  • KRB5_NT_PRINCIPAL - O tipo principal geral (recomendado).
  • KRB5_NT_SRV_INST - A instância de serviço do usuário
  • KRB5_NT_SRV_HST - A instância de serviço do host
/kvno <keyversionnum> Especifica o número da versão da chave. O valor padrão é 1.
/resposta {-|+} Define o modo de resposta em segundo plano:
  • - Respostas redefine solicitações de senha automaticamente com SEM.
  • + Respostas solicita redefinição de senha automaticamente com SIM.
/alvo Define qual controlador de domínio usar. O padrão é que o controlador de domínio seja detetado, com base no nome principal. 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.
/sal cru força o ktpass a usar o algoritmo rawsalt ao gerar a chave. Este 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 principal do usuário (UPN) além do nome principal do serviço (SPN). O padrão é definir ambos no arquivo .keytab.
{-|+}setpass <password> Define a senha do usuário quando fornecida. Se o rndpass for usado, uma senha aleatória será gerada.
/? Exibe a Ajuda para este comando.

Observações

  • Os serviços executados em sistemas que não executam 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 estejam 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 userPrincipalName valor do atributo ao gerar o arquivo Keytab. As distribuições Kerberos que diferenciam maiúsculas de minúsculas usando esse arquivo Keytab podem ter problemas se não houver uma correspondência exata de maiúsculas e minúsculas 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, você deve mapear a entidade de segurança para a conta e definir a senha principal do host.

  1. Use o snap-in Usuário do Ative Directory e computadores 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.

  2. 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.

  3. Mescle o arquivo .keytab com o arquivo de /Etc/Krb5.keytab em um computador host que não esteja executando o sistema operacional Windows.