產生新的 VMCA 簽署根憑證後,您可以取代環境中的所有機器 SSL 憑證。

開始之前

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

執行這項作業的原因和時機

每台機器必須具有機器 SSL 憑證,以便與其他服務進行安全通訊。在多節點部署中,您必須在每個節點上執行機器 SSL 憑證產生命令。使用 --server參數從含外部 Platform Services ControllervCenter Server 指向 Platform Services Controller

程序

  1. 為每部需要新憑證的機器製作一份 certool.cfg 的複本。

    您可以在以下位置找到 certool.cfg

    作業系統

    路徑

    Windows

    C:\Program Files\VMware\vCenter Server\vmcad

    Linux

    /usr/lib/vmware-vmca/share/config/

  2. 編輯每台機器的自訂組態檔以納入該機器的 FDQN。

    按照機器的 IP 位址執行 NSLookup,以查看 DNS 的名稱清單,然後在檔案中為 [主機名稱] 欄位使用該名稱。

  3. 為每個檔案產生公開/私密金鑰檔案配對和憑證,並於您先前自訂的組態檔中傳遞。

    例如:

    certool --genkey --privkey=machine1.priv --pubkey=machine1.pub
    certool --gencert --privkey=machine1.priv --cert machine1.crt --Name=Machine1_Cert --config machine1.cfg
  4. 停止所有服務,並啟動處理憑證建立、傳播和儲存的服務。

    Windows 和 vCenter Server Appliance上的服務名稱並不相同。

    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. 新增憑證到 VECS。

    所有機器都需要使用本機憑證存放區中的新憑證,以透過 SSL 進行通訊。您需要先刪除現有項目,接著再新增項目。

    vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT  
    vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert machine1.cert
    --key machine1.priv
  6. 重新啟動所有服務。
    service-control --start --all
    

將機器憑證取代為 VMCA 簽署憑證

  1. 為 SSL 憑證建立組態檔,命名為 ssl-config.cfg 並儲存於當前目錄中。

    Country = US
    Name = vmca-<PSC-FQDN-example>
    Organization = <my_company>
    OrgUnit = <my_company Engineering>
    State = <my_state> 
    Locality = <mytown>
    Hostname = <FQDN>
  2. 為機器 SSL 憑證產生金鑰配對。在每個管理節點和 Platform Services Controller 節點上執行此命令;不需要使用 --server 選項。

    C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
    

    ssl-key.privssl-key.pub 檔案均在當前目錄中建立。

  3. 產生新的機器 SSL 憑證。此憑證是由 VMCA 簽署的。如果您將 VMCA 根憑證取代為自訂憑證,VMCA 會簽署所有具有完整鏈結的憑證。

    • Platform Services Controller 節點或內嵌式安裝中:

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
    • vCenter Server (外部安裝) 上:

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg --server=<psc-ip-or-fqdn>

    new-vmca-ssl.crt 檔案於當前目錄中建立。

  4. (選用) 列出 VECS 的內容。

    "C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli store list
    • Platform Services Controller 上的輸出:

      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
    • vCenter Server 上的輸出:

      output (on vCenter):
      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
      vpxd
      vpxd-extension
      vsphere-webclient
      sms
  5. 將 VECS 中的機器 SSL 憑證取代為新的機器 SSL 憑證。--store--alias 值必須與預設名稱完全相符。

    • Platform Services Controller 上,執行下列命令以更新 MACHINE_SSL_CERT 存放區中的機器 SSL 憑證。

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
      
    • 在每個管理節點或內嵌式部署中,執行下列命令以更新 MACHINE_SSL_CERT 存放區中的機器 SSL 憑證。您必須為每台機器個別更新憑證,因為每台機器的 FQDN 都不相同。

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
      

下一步

您也可以取代ESXi主機的憑證。請參閱 《vSphere 安全性》出版物。

在多節點部署中取代根憑證之後,您必須在含外部 Platform Services Controller節點的所有 vCenter Server 上重新啟動服務。