替换完计算机 SSL 证书后,可以替换所有解决方案用户证书。解决方案用户证书必须有效(即,不能过期),但证书中的其他所有信息可供证书基础架构使用。
许多 VMware 客户未替换解决方案用户证书。他们仅将计算机 SSL 证书替换为自定义证书。这种混合方法符合其安全团队的要求。
- 证书位于代理后面或是自定义证书。
- 未使用中间 CA。
替换每个 vCenter Server 系统上的计算机解决方案用户证书和解决方案用户证书。
注: 在大型部署中列出解决方案用户证书时,
dir-cli list 的输出包括所有节点的所有解决方案用户。运行
vmafd-cli get-machine-id --server-name localhost 以查找每个主机的本地计算机 ID。每个解决方案用户名称均包括计算机 ID。
前提条件
准备好停止所有服务,启动处理证书传播和存储的服务。
过程
示例: 使用 VMCA 签名解决方案用户证书
- 在增强型链接模式配置中的每个 vCenter Server 节点上,为每个解决方案用户生成一个公钥/私钥对,其中包括为计算机解决方案用户生成一个密钥对以及为每个其他解决方案用户(vpxd、vpxd-extension、vsphere-webclient、wcp)生成一个密钥对。
- 为计算机解决方案用户生成密钥对。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
- 为每个节点上的 vpxd 解决方案用户生成密钥对。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
- 为每个节点上的 vpxd-extension 解决方案用户生成密钥对。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
- 为每个节点上的 vsphere-webclient 解决方案用户生成密钥对。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
- 为每个节点上的 wcp 解决方案用户生成密钥对。
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=wcp-key.priv --pubkey=wcp-key.pub
- 为计算机解决方案用户生成密钥对。
- 为每个 vCenter Server 节点上的计算机解决方案用户以及每个其他解决方案用户(vpxd、vpxd-extension、vsphere-webclient、wcp)生成由新的 VMCA 根证书签名的解决方案用户证书。
注: --Name 参数必须唯一。包括解决方案用户存储的名称,可便于查看证书与解决方案用户之间的映射关系。在任何一种情况下,该示例都包括此名称,例如 vpxd或 vpxd-extension。
- 运行以下命令,为该节点上的计算机解决方案用户生成解决方案用户证书。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine
- 为每个节点上的计算机解决方案用户生成证书。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine
- 为每个节点上的 vpxd 解决方案用户生成证书。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd
- 为每个节点上的 vpxd-extension 解决方案用户生成证书。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension
- 通过运行以下命令为每个节点上的 vsphere-webclient 解决方案用户生成证书。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient
- 通过运行以下命令为每个节点上的 wcp 解决方案用户生成证书。
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-wcp.crt --privkey=wcp-key.priv --Name=wcp
- 运行以下命令,为该节点上的计算机解决方案用户生成解决方案用户证书。
- 将 VECS 中的解决方案用户证书替换为新的解决方案用户证书。
注: --store 和 --alias 参数必须与服务的默认名称完全匹配。
- 替换每个节点上的计算机解决方案用户证书:
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store machine --alias machine /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store machine --alias machine --cert new-machine.crt --key machine-key.priv
- 替换每个节点上的 vpxd 解决方案用户证书。
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd --alias vpxd /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd --alias vpxd --cert new-vpxd.crt --key vpxd-key.priv
- 替换每个节点上的 vpxd-extension 解决方案用户证书。
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd-extension --alias vpxd-extension /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd-extension --alias vpxd-extension --cert new-vpxd-extension.crt --key vpxd-extension-key.priv
- 替换每个节点上的 vsphere-webclient 解决方案用户证书。
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vsphere-webclient --alias vsphere-webclient /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vsphere-webclient --alias vsphere-webclient --cert new-vsphere-webclient.crt --key vsphere-webclient-key.priv
- 替换每个节点上的 wcp 解决方案用户证书。
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store wcp --alias wcp /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store wcp --alias wcp --cert new-wcp.crt --key wcp-key.priv
- 替换每个节点上的计算机解决方案用户证书:
- 使用新的解决方案用户证书更新 VMware Directory Service (vmdir)。系统将提示您输入 vCenter Single Sign-On 管理员密码。
- 运行 dir-cli service list 可获取每个解决方案用户的唯一服务 ID 后缀。可以在 vCenter Server 系统上运行以下命令。
/usr/lib/vmware-vmafd/bin/dir-cli service list output: 1. machine-623bef28-0311-436e-b21f-6e0d39aa5179 2. vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa5179 3. vpxd-623bef28-0311-436e-b21f-6e0d39aa5179 4. vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa5179 5. hvc-623bef28-0311-436e-b21f-6e0d39aa5179 6. wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e
注: 在大型部署中列出解决方案用户证书时, dir-cli list 的输出包括所有节点的所有解决方案用户。运行 vmafd-cli get-machine-id --server-name localhost 以查找每个主机的本地计算机 ID。每个解决方案用户名称均包括计算机 ID。 - 替换每个 vCenter Server 节点上的 vmdir 中的计算机证书。例如,如果 machine-6fd7f140-60a9-11e4-9e28-005056895a69 为 vCenter Server 中的计算机解决方案用户,请运行此命令:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine.crt
- 替换每个节点上的 vmdir 中的 vpxd 解决方案用户证书。例如,如果 vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 为 vpxd 解决方案用户 ID,请运行此命令:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
- 替换每个节点上的 vmdir 中的 vpxd-extension 解决方案用户证书。例如,如果 vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 为 vpxd-extension 解决方案用户 ID,请运行此命令:
/usr/lib/vmware-vmafd/bin/dir-cli update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
- 替换每个节点上的 vsphere-webclient 解决方案用户证书。例如,如果 vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 为 vsphere-webclient 解决方案用户 ID,请运行此命令:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
- 替换每个节点上的 wcp 解决方案用户证书。例如,如果 wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e 是 wcp 解决方案用户 ID,请运行以下命令:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e --cert new-wcp.crt
- 运行 dir-cli service list 可获取每个解决方案用户的唯一服务 ID 后缀。可以在 vCenter Server 系统上运行以下命令。
下一步做什么
重新启动每个 vCenter Server 节点上的所有服务。