创建 keytab 文件
您可以创建一个用户账户以在多个中央节点服务器上进行身份验证。服务主体名称 (SPN) 为此,您必须创建一个keytab 文件,其中包含每个服务器的服务主体名称(以下也称为 SPN)。创建 keytab 文件时,必须使用属性来生成salt(哈希函数输入修饰符)。
生成的 salt 必须以任何方便的方式保存,以便将来向 keytab 文件添加更多 SPN。
您还可以为要为其设置 Kerberos 身份验证的每个中央节点服务器创建单独的 Active Directory 用户账户。
要使用一个用户账户创建 keytab 文件:
- 在域控制器上的Active Directory 用户和计算机管理单元中,创建一个用户账户(例如,使用
control-user
作为其名称)。 - 如果要使用 AES256-SHA1 加密算法,请在Active Directory 用户和计算机管理单元中:
- 打开您创建的用户账户的属性。
- 在账户选项卡上,选择此账户支持 Kerberos AES 256 位加密复选框。
- 使用 ktpass 实用程序为
控制用户
创建 keytab 文件。为此,请在命令行中运行以下命令:C:\Windows\system32\ktpass.exe -princ HTTP/<中央节点服务器的完全限定域名 (FQDN)>@<大写的 Active Directory 域的领域名称> -mapuser control-user@<大写的 Active Directory 域的领域名称> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <文件路径>\<文件名>.keytab
该实用程序在执行命令时请求
control-user
密码。所选服务器的 SPN 将被添加到创建的 keytab 文件中。生成的盐显示在屏幕上:
使用盐“<哈希值>”对密码进行哈希处理。
- 将每个后续中央节点服务器的 SPN 记录添加到 keytab 文件中。为此,请运行以下命令:
C:\Windows\system32\ktpass.exe -princ HTTP/<中央节点服务器的完全限定域名 (FQDN)>@<大写的 Active Directory 域的领域名称> -mapuser control-user@<大写的 Active Directory 域的领域名称> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <先前创建的文件的路径和名称>.keytab -out <路径和新名称>.keytab -setupn -setpass -rawsalt "<在第 3 步创建 keytab文件时获得的盐的哈希值>"
该实用程序在执行命令时请求
control-user
密码。
keytab 文件已创建。此文件包含所选服务器的所有添加的 SPN。
示例: 例如,您需要创建一个包含 3 个服务器的 SPN 名称的 keytab 文件: 要在 C:\keytabs\ 中创建包含服务器的 SPN 的
假设您有 要添加另一个 SPN,请运行以下命令:
要添加第三个 SPN:
这将创建一个 |
要使用每个中央节点服务器的单独账户创建 keytab 文件:
- 在域控制器服务器上的Active Directory 用户和计算机管理单元中,为每台服务器创建单独的用户账户(例如,
control-user
、secondary1-user
、secondary2-user
等)。 - 如果要使用 AES256-SHA1 加密算法,请在Active Directory 用户和计算机管理单元中:
- 打开您创建的用户账户的属性。
- 在账户选项卡上,选择此账户支持 Kerberos AES 256 位加密复选框。
- 使用 ktpass 实用程序为
控制用户
创建 keytab 文件。为此,请在命令行中运行以下命令:C:\Windows\system32\ktpass.exe -princ HTTP/<中央节点服务器的完全限定域名 (FQDN)>@<大写的 Active Directory 域的领域名称> -mapuser control-user@<大写的 Active Directory 域的领域名称> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <文件路径>\<文件名>.keytab
该实用程序在执行命令时请求
control-user
密码。所选服务器的 SPN 将被添加到创建的 keytab 文件中。
- 将每个后续中央节点服务器的 SPN 记录添加到 keytab 文件中。为此,请运行以下命令:
C:\Windows\system32\ktpass.exe -princ HTTP/<中央节点服务器的完全限定域名 (FQDN)>@<大写的 Active Directory 域的领域名称> -mapuser secondary1-user@<大写的 Active Directory 域的领域名称> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <先前创建的文件的路径和名称>.keytab -out <路径和新名称>.keytab
该实用程序在执行命令时请求
secondary1-user
密码。
keytab 文件已创建。此文件包含所选服务器的所有添加的 SPN。
示例: 例如,您需要创建一个包含 3 个服务器的 SPN 名称的 keytab 文件: 要在 C:\keytabs\ 中创建包含服务器的 SPN 的
要添加另一个 SPN,请运行以下命令:
要添加第三个 SPN:
这将创建一个 |