다음을 통해 공유


ktpass

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

구문

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} 매핑 특성을 설정 하는 방법을 지정 합니다.
  • 추가 - 지정된 로컬 사용자 이름의 값을 추가합니다. 기본값입니다.
  • 설정 - 지정된 로컬 사용자 이름에 대해 데이터 암호화 표준(DES) 전용 암호화 값을 설정합니다.
{-|+}desonly DES 전용 암호화는 기본적으로 설정 됩니다.
  • + DES 전용 암호화에 대 한 계정을 설정합니다.
  • - DES 전용 암호화에 대 한 계정에 대 한 제한을 해제합니다. 중요: 기본적으로 Windows는 DES를 지원하지 않습니다.
/in <filename> Windows 운영 체제를 실행 하지 않는 호스트 컴퓨터에서 읽을.keytab 파일을 지정 합니다.
/pass {password|*|{-|+}rndpass} 로 지정 된 주 사용자 이름에 대 한 암호를 지정 된 princ 매개 변수입니다. *를 사용하여 암호를 입력하라는 메시지를 표시합니다.
/minpass 15 자로 임의의 암호의 최소 길이 설정합니다.
/maxpass 임의의 암호의 최대 길이 256 자로 설정합니다.
/crypto {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} 키 파일에서 생성 되는 키를 지정 합니다.
  • DES-CBC-CRC - 호환성을 위해 사용됩니다.
  • DES-CBC-m d 5 - MIT 구현을 더 긴밀하게 준수하고 호환성을 위해 사용됩니다.
  • RC4-HMAC-NT - 128비트 암호화를 사용합니다.
  • AES256-SHA1 - AES256-CTS-HMAC-SHA1-96 암호화를 사용합니다.
  • AES128-SHA1 - AES128-CTS-HMAC-SHA1-96 암호화를 사용합니다.
  • 모두 - 지원되는 모든 암호화 형식을 사용할 수 있음을 명시합니다.

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

/itercount AES 암호화에 사용 되는 반복 횟수를 지정 합니다. 기본값은 AES가 아닌 암호화에 대해 itercount를 무시하고 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입니다.
/answer {-|+} 배경 응답 모드를 설정합니다.
  • - 응답하면 암호 프롬프트가 자동으로 NO로 재설정됩니다.
  • + 응답하면 암호 프롬프트가 자동으로 YES로 재설정됩니다.
/target 도메인 컨트롤러를 사용 하도록 설정 합니다. 기본값은 검색, 보안 주체 이름을 기반으로 하는 도메인 컨트롤러입니다. 도메인 컨트롤러 이름이 확인되지 않으면 대화 상자에서 유효한 도메인 컨트롤러를 묻는 메시지가 표시됩니다.
/rawsalt 키를 생성할 때 rawsalt 알고리즘을 사용하도록 ktpass를 강제로 적용합니다. 이 매개 변수는 선택 사항입니다.
{-|+}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 운영 체제를 실행하지 않는 호스트 컴퓨터의 /Etc/Krb5.keytab 파일과 .keytab 파일을 병합합니다.