取代機器 SSL 憑證後,您可以取代所有解決方案使用者憑證。解決方案使用者憑證必須有效 (即並未到期),但憑證基礎結構並不會使用憑證中的任何其他資訊。

許多 VMware 客戶未取代解決方案使用者憑證。僅將機器 SSL 憑證取代為自訂憑證。此一混合式方法可滿足客戶安全性團隊的需求。
  • 這些憑證位於 Proxy 後方,或屬於自訂憑證。
  • 不使用任何中繼 CA。

您會在每個管理節點與每個 Platform Services Controller 節點上取代機器解決方案使用者憑證。您只會在每個管理節點上取代其他解決方案使用者憑證。在包含外部 Platform Services Controller 的管理節點上執行命令時,請使用 --server 參數指向 Platform Services Controller

備註: 當您列出大型部署中的解決方案使用者憑證時, dir-cli list 的輸出會包含所有節點上的所有解決方案使用者。請執行 vmafd-cli get-machine-id --server-name localhost 以找出每台主機的本機機器識別碼。每個解決方案使用者名稱都包含機器識別碼。

必要條件

準備好停止所有服務,並啟動處理憑證傳播和儲存的服務。

程序

  1. 製作一份 certool.cfg 的複本,移除名稱、IP 位址、DNS 名稱和電子郵件欄位,然後重新命名該檔案 (例如重新命名為 sol_usr.cfg)。
    做為產生過程的一部分,您可以從命令列重新命名憑證。解決方案使用者無需其他資訊。如果保留預設資訊,所產生的憑證可能會造成混淆。
  2. 為每個解決方案使用者產生公開/私密金鑰檔案配對和憑證,並於您先前自訂的組態檔中傳遞。
    例如:
    certool --genkey --privkey=vpxd.priv --pubkey=vpxd.pub 
    certool --gencert --privkey=vpxd.priv --cert vpxd.crt --Name=VPXD_1 --config sol_usr.cfg
  3. 找到每個解決方案使用者的名稱。
    dir-cli service list 
    
    您可以使用取代憑證時返回的唯一識別碼。輸入和輸出內容可能如下。
    C:\Program Files\VMware\vCenter Server\vmafdd>dir-cli service list
    Enter password for [email protected]:
    1. machine-1d364500-4b45-11e4-96c2-020011c98db3
    2. vpxd-1d364500-4b45-11e4-96c2-020011c98db3
    3. vpxd-extension-1d364500-4b45-11e4-96c2-020011c98db3
    4. vsphere-webclient-1d364500-4b45-11e4-96c2-020011c98db3
    當您列出多節點部署中的解決方案使用者憑證時, dir-cli list 的輸出會包含所有節點上的所有解決方案使用者。請執行 vmafd-cli get-machine-id --server-name localhost 以找出每台主機的本機機器識別碼。每個解決方案使用者名稱都包含機器識別碼。
  4. 停止所有服務,並啟動處理憑證建立、傳播和儲存的服務。
    Windows 和 vCenter Server Appliance 上的服務名稱並不相同。
    備註: 如果您的環境使用外部 Platform Services Controller,則無需在 vCenter Server 節點上停止和啟動 VMware 目錄服務 (vmdird) 和 VMware Certificate Authority (vmcad)。這些服務將在 Platform Services Controller 上執行。
    Windows
    service-control --stop --all
    service-control --start VMWareAfdService
    service-control --start VMWareDirectoryService
    service-control --start VMWareCertificateService
    
    vCenter Server Appliance
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  5. 針對每個解決方案使用者,先後取代 vmdir 和 VECS 中的現有憑證。
    下列範例說明如何取代 vpxd 服務的憑證。
    dir-cli service update --name <vpxd-xxxx-xxx-7c7b769cd9f4> --cert ./vpxd.crt
    vecs-cli entry delete --store vpxd --alias vpxd
    vecs-cli entry create --store vpxd --alias vpxd --cert vpxd.crt --key vpxd.priv
    
    
    備註: 如果您不取代 vmdir 中的憑證,解決方案使用者就無法向 vCenter Single Sign-On 進行驗證。
  6. 重新啟動所有服務。
    service-control --start --all
    

範例: 使用 VMCA 簽署解決方案使用者憑證

  1. 為每個解決方案使用者產生公開/私密金鑰配對。其中包括一組為每個 Platform Services Controller 和每個管理節點上機器解決方案使用者提供的配對,以及一組為每個管理節點上每個其他解決方案使用者 (vpxd、vpxd-extension、vsphere-webclient) 提供的配對。
    1. 為內嵌式部署的機器解決方案使用者或 Platform Services Controller 的機器解決方案使用者產生金鑰配對。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
      
    2. (選用) 針對包含外部 Platform Services Controller 的部署,為每個管理節點上的機器解決方案使用者產生金鑰配對。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
    3. 為每個管理節點上的 vpxd 解決方案使用者產生金鑰配對。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
    4. 為每個管理節點上的 vpxd-extension 解決方案使用者產生金鑰配對。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
    5. 為每個管理節點上的 vsphere-webclient 解決方案使用者產生金鑰配對。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
  2. 為每個 Platform Services Controller 和每個管理節點上的機器解決方案使用者,以及每個管理節點上的每個其他解決方案使用者 (vpxd、vpxd-extension、vsphere-webclient),產生由新 VMCA 根憑證簽署的解決方案使用者憑證。
    備註: --Name 參數必須是唯一的。包含解決方案使用者存放區的名稱,可讓您輕鬆辨識憑證與解決方案使用者之間的對應關係。在每種情況下,範例皆包含名稱,例如 vpxdvpxd-extension
    1. Platform Services Controller 節點上執行下列命令,為該節點上的機器解決方案使用者產生解決方案使用者憑證。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine 
      
    2. 為每個管理節點上的機器解決方案使用者產生憑證。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine --server=<psc-ip-or-fqdn>
      
    3. 為每個管理節點上的 vpxd 解決方案使用者產生憑證。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd --server=<psc-ip-or-fqdn>
      
    4. 為每個管理節點上的 vpxd-extensions 解決方案使用者產生憑證。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension --server=<psc-ip-or-fqdn>
      
    5. 執行下列命令,為每個管理節點上的 vsphere-webclient 解決方案使用者產生憑證。
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient --server=<psc-ip-or-fqdn>
  3. 將 VECS 中的解決方案使用者憑證取代為新的解決方案使用者憑證。
    備註: --store--alias 參數必須與預設服務名稱完全相符。
    1. Platform Services Controller 節點上,執行下列命令以取代機器解決方案使用者憑證:
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store machine --alias machine
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store machine --alias machine --cert new-machine.crt --key machine-key.priv
      
    2. 取代每個管理節點上的機器解決方案使用者憑證:
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store machine --alias machine
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store machine --alias machine --cert new-machine-vc.crt --key machine-vc-key.priv
      
    3. 取代每個管理節點上的 vpxd 解決方案使用者憑證:
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store vpxd --alias vpxd
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store vpxd --alias vpxd --cert new-vpxd.crt --key vpxd-key.priv
      
    4. 取代每個管理節點上的 vpxd-extension 解決方案使用者憑證:
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store vpxd-extension --alias vpxd-extension
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store vpxd-extension --alias vpxd-extension --cert new-vpxd-extension.crt --key vpxd-extension-key.priv
      
    5. 取代每個管理節點上的 vsphere-webclient 解決方案使用者憑證:
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store vsphere-webclient --alias vsphere-webclient
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store vsphere-webclient --alias vsphere-webclient --cert new-vsphere-webclient.crt --key vsphere-webclient-key.priv
      
  4. 使用新的解決方案使用者憑證更新 VMware Directory Service (vmdir)。系統會提示您輸入 vCenter Single Sign-On 管理員密碼。
    1. 執行 dir-cli service list,為每個解決方案使用者取得唯一的服務識別碼尾碼。您可以在 Platform Services ControllervCenter Server 系統上執行此命令。
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli>dir-cli service list
      output:
      1. machine-29a45d00-60a7-11e4-96ff-00505689639a
      2. machine-6fd7f140-60a9-11e4-9e28-005056895a69
      3. vpxd-6fd7f140-60a9-11e4-9e28-005056895a69
      4. vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69
      5. vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69
      備註: 當您列出大型部署中的解決方案使用者憑證時, dir-cli list 的輸出會包含所有節點上的所有解決方案使用者。請執行 vmafd-cli get-machine-id --server-name localhost 以找出每台主機的本機機器識別碼。每個解決方案使用者名稱都包含機器識別碼。
    2. 取代 Platform Services Controller 上 vmdir 中的機器憑證。例如,如果 machine-29a45d00-60a7-11e4-96ff-00505689639a 是 Platform Services Controller 上的機器解決方案使用者,請執行此命令:
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli service update --name machine-29a45d00-60a7-11e4-96ff-00505689639a --cert new-machine-1.crt
    3. 取代每個管理節點上 vmdir 中的機器憑證。例如,如果 machine-6fd7f140-60a9-11e4-9e28-005056895a69 是 vCenter Server 上的機器解決方案使用者,請執行此命令:
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine-2.crt
    4. 取代每個管理節點上 vmdir 中的 vpxd 解決方案使用者憑證。例如,如果 vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 是 vpxd 解決方案使用者識別碼,請執行此命令:
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
    5. 取代每個管理節點上 vmdir 中的 vpxd-extension 解決方案使用者憑證。例如,如果 vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 是 vpxd-extension 解決方案使用者識別碼,請執行此命令:
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli service update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
      
    6. 取代每個管理節點上的 vsphere-webclient 解決方案使用者憑證。例如,如果 vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 是 vsphere-webclient 解決方案使用者識別碼,請執行此命令:
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
      

下一步

在每個 Platform Services Controller 節點和每個管理節點上重新啟動所有服務。