ktpass

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Active Directory 도메인 서비스 (AD DS)에서 호스트 또는 서비스에 대 한 서버 보안 주체 이름 구성 하 고 서비스의 공유 암호 키를 포함 하는.keytab 파일을 생성 합니다. .keytab 파일은 MIT(매사추세츠 공과대학교)의 Kerberos 인증 프로토콜 구현을 기반으로 합니다. ktpass 명령줄 도구를 사용하면 Kerberos 인증을 지원하는 비 Windows 서비스가 KDC(Kerberos 키 배포 센터) 서비스에서 제공하는 상호 운용성 기능을 사용할 수 있습니다.

구문

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]

매개 변수

매개 변수 설명
/out <filename> 생성할 Kerberos 버전 5.keytab 파일의 이름을 지정 합니다. 참고: Windows 운영 체제를 실행하지 않는 컴퓨터로 전송한 다음 기존 .keytab 파일인 /Etc/Krb5.keytab으로 바꾸거나 병합하는 .keytab 파일입니다.
/princ <principalname> 양식 호스트/computer.contoso.com@CONTOSO.COM에서 보안 주체 이름을 지정합니다. 경고: 이 매개 변수는 대/소문자를 구분합니다.
/mapuser <useraccount> 지정 된 Kerberos 사용자 이름을 매핑하는 princ 매개 변수를 지정 된 도메인 계정.
/mapop {add|set} 매핑 특성을 설정 하는 방법을 지정 합니다.
  • 추가 - 지정된 로컬 사용자 이름의 값을 추가합니다. 기본값입니다.
  • Set - 지정된 로컬 사용자 이름에 대한 DES(데이터 암호화 표준) 전용 암호화 값을 설정합니다.
{-|+}desonly DES 전용 암호화는 기본적으로 설정 됩니다.
  • + DES 전용 암호화에 대 한 계정을 설정합니다.
  • - DES 전용 암호화에 대 한 계정에 대 한 제한을 해제합니다. 중요: Windows는 기본적으로 DES를 지원하지 않습니다.
/in <filename> Windows 운영 체제를 실행 하지 않는 호스트 컴퓨터에서 읽을.keytab 파일을 지정 합니다.
/전달 {password|*|{-|+}rndpass} 로 지정 된 주 사용자 이름에 대 한 암호를 지정 된 princ 매개 변수입니다. 암호를 묻는 메시지를 표시하는 데 사용합니다 * .
/minpass 15 자로 임의의 암호의 최소 길이 설정합니다.
/maxpass 임의의 암호의 최대 길이 256 자로 설정합니다.
/암호화 {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} 키 파일에서 생성 되는 키를 지정 합니다.
  • DES-CBC-CRC - 호환성에 사용됩니다.
  • DES-CBC-MD5 - MIT 구현을 보다 긴밀하게 준수하며 호환성을 위해 사용됩니다.
  • RC4-HMAC-NT - 128비트 암호화를 사용합니다.
  • AES256-SHA1 - AES256-CTS-HMAC-SHA1-96 암호화를 사용합니다.
  • AES128-SHA1 - AES128-CTS-HMAC-SHA1-96 암호화를 사용합니다.
  • All - 지원되는 모든 암호화 형식을 사용할 수 있음을 표시합니다.

참고: 기본 설정은 이전 MIT 버전을 기반으로 하므로 항상 매개 변수를 /crypto 사용해야 합니다.

/itercount AES 암호화에 사용 되는 반복 횟수를 지정 합니다. 기본값은 비 AES 암호화에 대한 반복을 무시하고 AES 암호화를 4,096으로 설정합니다.
/ptype {KRB5_NT_PRINCIPAL|KRB5_NT_SRV_INST|KRB5_NT_SRV_HST} 보안 주체 유형을 지정합니다.
  • KRB5_NT_PRINCIPAL - 일반 보안 주체 유형(권장)입니다.
  • KRB5_NT_SRV_INST - 사용자 서비스 인스턴스
  • KRB5_NT_SRV_HST - 호스트 서비스 인스턴스
/kvno <keyversionnum> 키 버전 번호를 지정합니다. 기본값은 1입니다.
/대답 {-|+} 배경 응답 모드를 설정합니다.
  • -아니요를 사용하여 자동으로 암호 재설정 프롬프트에 응답합니다.
  • +YES를 사용하여 암호 재설정 프롬프트가 자동으로 응답됩니다.
/target 도메인 컨트롤러를 사용 하도록 설정 합니다. 기본값은 검색, 보안 주체 이름을 기반으로 하는 도메인 컨트롤러입니다. 할기본 컨트롤러 이름이 확인되지 않으면 대화 상자에서 유효한 do기본 컨트롤러를 묻는 메시지가 표시됩니다.
/rawsalt 키를 생성할 때 ktpass가 rawsalt 알고리즘을 사용하도록 합니다. 이 매개 변수는 선택 사항입니다.
{-|+}dumpsalt 이 매개 변수는 출력 키를 생성 하는 데 사용 되는 MIT salt 알고리즘을 보여 줍니다.
{-|+}setupn 서비스 사용자 이름 (SPN) 외에도 사용자 보안 주체 이름 (UPN)을 설정합니다. 기본값은.keytab 파일에서 모두 설정 하는 것입니다.
{-|+}setpass <password> 제공 되는 경우 사용자의 암호를 설정 합니다. Rndpass 사용 되는 경우에 임의의 암호를 대신 생성 됩니다.
/? 이 명령에 대 한 도움말을 표시합니다.

설명

  • Windows 운영 체제를 실행하지 않는 시스템에서 실행되는 서비스는 AD DS의 서비스 인스턴스 계정으로 구성할 수 있습니다. 따라서 모든 Kerberos 클라이언트 Windows Kdc를 사용 하 여 Windows 운영 체제를 실행 하지 않는 서비스에 인증할 수 있습니다.

  • /princ 매개 변수는 ktpass에서 평가되지 않으며 제공된 대로 사용됩니다. Keytab 파일을 생성할 때 매개 변수가 userPrincipalName 특성 값의 정확한 사례와 일치하는지 확인할 검사 없습니다. 이 Keytab 파일을 사용하는 대/소문자 구분 Kerberos 배포는 정확한 대/소문자 일치가 없는 경우 문제가 발생할 수 있으며 사전 인증 중에 실패할 수도 있습니다. LDifDE 내보내기 파일에서 올바른 userPrincipalName 특성 값을 검사 검색합니다. 다음은 그 예입니다.

    ldifde /f keytab_user.ldf /d CN=Keytab User,OU=UserAccounts,DC=contoso,DC=corp,DC=microsoft,DC=com /p base /l samaccountname,userprincipalname
    

Windows 운영 체제를 실행하지 않는 호스트 컴퓨터에 대한 Kerberos .keytab 파일을 만들려면 보안 주체를 계정에 매핑하고 호스트 보안 주체 암호를 설정해야 합니다.

  1. Active Directory 사용자 및 컴퓨터 스냅인을 사용하여 Windows 운영 체제를 실행하지 않는 컴퓨터에서 서비스에 대한 사용자 계정을 만듭니다. 예를 들어 User1이라는 이름의 계정을 만듭니다.

  2. ktpass 명령을 사용하여 다음을 입력하여 사용자 계정에 대한 ID 매핑을 설정합니다.

    ktpass /princ host/User1.contoso.com@CONTOSO.COM /mapuser User1 /pass MyPas$w0rd /out machine.keytab /crypto all /ptype KRB5_NT_PRINCIPAL /mapop set
    

    참고 항목

    동일한 사용자 계정에 여러 서비스 인스턴스를 매핑할 수 없습니다.

  3. Windows 운영 체제를 실행하지 않는 호스트 컴퓨터에서 .keytab 파일을 /Etc/Krb5.keytab 파일과 병합합니다.