建立 keytab 檔案

您可以建立一個使用者帳戶以在多個 Central Node 伺服器上進行身分驗證。服務主體名稱 (SPN) 為此,您必須建立一個 keytab 檔案,其中包含每個伺服器的服務主體名稱(以下也稱為 SPN)。建立 keytab 檔案時,必須使用屬性來產生salt(雜湊函數輸入修飾符)。

產生的 Salt 必須以任何方便的方式儲存,以便將來在 keytab 檔案中新增更多SPN。

您也可以為要為其設定 Kerberos 驗證的每個 Central Node 伺服器建立單獨的 Active Directory 使用者帳戶。

要使用一個使用者帳戶建立 keytab 檔案:

  1. 在網域控制器上的 Active Directory 使用者和電腦管理單元中,建立一個使用者帳戶(例如,使用 Control-user作為其名稱)。
  2. 如果要使用 AES256-SHA1 加密演算法,請在 Active Directory 使用者和電腦管理單元中:
    1. 開啟您建立的使用者帳戶的屬性。
    2. 帳戶頁簽上,選擇此帳戶支援 Kerberos AES 256 位元加密核取方塊。
  3. 使用 ktpass 實用程式為控制使用者建立 keytab 檔案。為此,請在命令列中執行以下命令:

    C:\Windows\system32\ktpass.exe -princ HTTP/<Central Node 伺服器的完全限定網域名稱 (FQDN)> @<大寫的 Active Directory 網域的領域名稱> -mapuser control-user@<大寫的 Active Directory 網域的領域名稱> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <檔案路徑>\<檔案名稱>.keytab

    該實用程式在執行命令時請求control-user密碼。

    所選伺服器的 SPN 將會被新增到建立的 keytab 檔案中。產生的鹽顯示在螢幕上:使用鹽“”對密碼進行雜湊處理。

  4. 將每個後續 Central Node 伺服器的 SPN 記錄新增到 keytab 檔案中。為此,請執行以下命令:

    C:\Windows\system32\ktpass.exe -princ HTTP/<Central Node 伺服器的完全限定網域名稱 (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 檔案:control-01.test.localsecondary-01.test.local和 Secondary-02.test.local

若要在 C:\keytabs\ 中建立包含伺服器的 SPN 的 filename1.keytab檔案,請執行下列命令:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out C:\keytabs\filename1.keytab

假設您有“TEST.LOCALHTTPcontrol-01.test.local”作為鹽。

若要新增另一個 SPN,請執行以下命令:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

要新增第三個 SPN:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

這將建立一個filename3.keytab檔案,其中包含所有三個已新增的 SPN。

要使用每個 Central Node 伺服器的單獨帳戶建立 keytab 檔案:

  1. 在網域控制器伺服器上的 Active Directory 使用者和電腦管理單元中,為每台伺服器建立單獨的使用者帳戶(例如,control-usersecondary1-usersecondary2-user等)。
  2. 如果要使用 AES256-SHA1 加密演算法,請在 Active Directory 使用者和電腦管理單元中:
    1. 開啟您建立的使用者帳戶的屬性。
    2. 帳戶頁簽上,選擇此帳戶支援 Kerberos AES 256 位元加密核取方塊。
  3. 使用 ktpass 實用程式為控制使用者建立 keytab 檔案。為此,請在命令列中執行以下命令:

    C:\Windows\system32\ktpass.exe -princ HTTP/<Central Node 伺服器的完全限定網域名稱 (FQDN)> @<大寫的 Active Directory 網域的領域名稱> -mapuser control-user@<大寫的 Active Directory 網域的領域名稱> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <檔案路徑>\<檔案名稱>.keytab

    該實用程式在執行命令時請求control-user密碼。

    所選伺服器的 SPN 將會被新增到建立的 keytab 檔案中。

  4. 將每個後續 Central Node 伺服器的 SPN 記錄新增到 Keytab 檔案中。為此,請執行以下命令:

    C:\Windows\system32\ktpass.exe -princ HTTP/<Central Node 伺服器的完全限定網域名稱 (FQDN)> @<大寫的 Active Directory 網域的領域名稱> -mapuser secondary1-user@<大寫的 Active Directory 網域的領域名稱> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <先前建立的檔案的路徑和名稱>.keytab -outkeytab 路徑和新名稱.

    該實用程式在執行命令時請求secondary1-user密碼。

keytab 檔案已建立。此檔案包含所選伺服器的所有新增的 SPN。

範例:

例如,您需要建立一個包含 3 台伺服器的 SPN 名稱的 keytab 檔案:control-01.test.localsecondary-01.test.local和 Secondary-02.test.local

若要在 C:\keytabs\ 中建立包含伺服器的 SPN 的filename1.keytab檔案,請執行下列命令:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out C:\keytabs\filename1.keytab

若要新增另一個 SPN,請執行以下命令:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser secondary1-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab

要新增第三個 SPN:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser secondary2-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab

這將建立一個filename3.keytab檔案,其中包含所有三個已新增的 SPN。

頁面頂部