可以使用 CLI 将 vCenter Server STS 证书替换为自定义生成的证书或第三方证书。

要使用公司所需的证书或刷新即将过期的证书,可以替换现有 STS 签名证书。要替换默认 STS 签名证书,必须先生成新证书。

STS 证书不面向外部。除非贵公司的安全策略需要,否则请勿替换此证书。

小心: 您必须使用此处所述的过程。请勿直接替换文件系统中的证书。

前提条件

启用 SSH,以通过 SSH 登录到 vCenter Server。请参见从 vCenter Server Shell 管理 vCenter Server

过程

  1. 以 root 身份登录 vCenter Server Shell。
  2. 创建证书。
    1. 创建顶级目录以保存新证书并确人该目录的位置。
      mkdir newsts
      cd newsts
      pwd 
      #resulting output: /root/newsts
    2. certool.cfg 文件复制到新目录中。
      cp /usr/lib/vmware-vmca/share/config/certool.cfg /root/newsts
      
    3. 使用诸如 Vim 等命令行编辑器,打开 certool.cfg 文件的副本并进行编辑,以便使用本地 vCenter Server IP 地址和主机名。国家/地区为必填字段且必须是两个字符,如以下示例所示。
      #
      # Template file for a CSR request
      #
      
      # Country is needed and has to be 2 characters
      Country = US
      Name = STS
      Organization = ExampleInc
      OrgUnit = ExampleInc Dev
      State = Indiana
      Locality = Indianapolis
      IPAddress = 10.0.1.32
      Email = [email protected]
      Hostname = homecenter.exampleinc.local
    4. 生成密钥。
      /usr/lib/vmware-vmca/bin/certool --server localhost --genkey --privkey=/root/newsts/sts.key --pubkey=/root/newsts/sts.pub
      
    5. 生成证书。
      /usr/lib/vmware-vmca/bin/certool --gencert --cert=/root/newsts/newsts.cer --privkey=/root/newsts/sts.key --config=/root/newsts/certool.cfg
      
    6. 创建带有证书链和私钥的 PEM 文件。
      cat newsts.cer /var/lib/vmware/vmca/root.cer sts.key > newsts.pem
  3. 更新 STS 签名证书,例如:
    /opt/vmware/bin/sso-config.sh -set_signing_cert -t vsphere.local /root/newsts/newsts.pem
  4. 重新启动 vCenter Server 系统以及增强型链接模式配置中的任何其他 vCenter Server 系统。请参见《vCenter Server 配置》文档中有关如何重新引导 vCenter Server 的主题。
    要使身份验证正常运行,必须重新启动 vCenter Server。STS 服务和 vSphere Client 都将重新启动。