您可以使用一組 CLI 來管理 VMCA (VMware Certificate Authority)、VECS (VMware Endpoint 憑證存放區)、VMware Directory Service (vmdir) 和安全性 Token 服務憑證 (STS)。vSphere Certificate Manager 公用程式也支援多項相關工作,但手動憑證管理和管理其他服務需要使用 CLI。

通常使用 SSH 連線至應用裝置 Shell,來存取 CLI 工具以管理憑證和相關聯的服務。如需詳細資訊,請參閱 VMware 知識庫文章,網址為:https://kb.vmware.com/s/article/2100508

手動取代 vSphere 憑證提供使用 CLI 命令取代憑證的範例。

表 1. 用於管理憑證和相關聯服務的 vSphere CLI 工具
CLI 說明 請參閱
certool 產生與管理憑證及金鑰。VMware Certificate Management 服務是 VMCAD 的一部分。

certool 初始化命令參考

vecs-cli 管理 VMware 憑證存放區執行個體的內容。屬於 VMware Authentication Framework 精靈 (VMAFD) 的一部分。 vecs-cli 命令參考
dir-cli 建立與更新 VMware Directory Service 中的憑證。屬於 VMAFD 的一部分。 dir-cli 命令參考
sso-config.sh 管理 STS 憑證。 命令列說明。輸入不帶任何選項的 sso-config.sh 將顯示命令列說明。
service-control 啟動或停止服務,例如做為憑證取代工作流程的一部分。

在執行其他 CLI 命令之前,請執行此命令來停止服務。

vSphere CLI 位置

依預設,您可以在下列位置找到 CLI。

/usr/lib/vmware-vmafd/bin/vecs-cli
/usr/lib/vmware-vmafd/bin/dir-cli
/usr/lib/vmware-vmca/bin/certool
/opt/vmware/bin/sso-config.sh
備註: service-control 命令不需要您指定路徑。

執行 vSphere CLI 所需的權限

所需的權限將視您所使用的 CLI 及您所想要執行之命令上的 CLI 而定。例如,對於大多數憑證管理作業,您必須為本機 vCenter Single Sign-on 網域 (依預設為 vsphere.local) 指派管理員。某些命令可用於所有使用者。

dir-cli
您必須是本機網域 (依預設為 vsphere.local) 中管理員群組的成員,方可執行 dir-cli 命令。如果沒有指定使用者名稱和密碼,則會提示您輸入本機 vCenter Single Sign-on 網域的管理員密碼,預設密碼為 [email protected]
vecs-cli
最初,僅擁有總括存取權限的儲存區擁有者和使用者可存取儲存區。管理員群組中的使用者擁有總括存取權。
MACHINE_SSL_CERT 和 TRUSTED_ROOTS 存放區是特殊存放區。只有根使用者或管理員使用者 (視安裝類型而定) 具有完整的存取權。
certool
大多數的 certool 命令都是只有管理員群組中的使用者才能使用。所有使用者都可以執行下列命令。
  • genselfcacert
  • initscr
  • getdc
  • waitVMDIR
  • waitVMCA
  • genkey
  • viewcert

變更 certool 組態選項

執行 certool --gencert 或某些其他憑證初始化或管理命令時,命令會從組態檔讀取所有值。您可以編輯現有檔案、使用 -–config=<file name> 選項覆寫預設組態檔,或覆寫命令列上的值。

依預設,組態檔 certool.cfg 位於 /usr/lib/vmware-vmca/share/config/ 目錄中。

該檔案中有數個欄位,預設值如下:

Country = US
Name= Acme
Organization = AcmeOrg
OrgUnit = AcmeOrg Engineering
State = California 
Locality = Palo Alto
IPAddress = 127.0.0.1	
Email = [email protected]
Hostname = server.acme.com
備註: OU (organizationalUnitName) 欄位不再為必填欄位。
您可以變更這些值,方法是按如下方式在命令列上指定修改的檔案,或在命令列上覆寫個別值。
  • 建立組態檔的複本並編輯檔案。使用 --config命令列選項指定檔案。請指定完整路徑,以避免路徑名稱問題。
  • /usr/lib/vmware-vmca/bin/certool -–gencert --config /tmp/myconfig.cfg
  • 在命令列上覆寫個別值。例如,如果要覆寫位置,請執行此命令:
    /usr/lib/vmware-vmca/bin/certool -–gencert -–privkey=private.key –-Locality="Mountain View" 
指定 --Name 以取代憑證主體名稱的 CN 欄位。
  • 對於解決方案使用者憑證,慣例上名稱會是 <sol_user name>@<domain>,但如果您環境中採用的慣例有所不同,可以變更名稱。
  • 對於機器 SSL 憑證,會使用機器的 FQDN。

    VMCA 僅允許使用一個 DNSName (在 Hostname 欄位中) 且不得使用其他別名。如果 IP 位址是由使用者指定,也會儲存在 SubAltName 中。

使用 --Hostname 參數指定憑證的 SubAltName 的 DNSName。