使用 vSphere Web Services SDK 替换 ESXi 主机上的证书时,之前的证书和密钥将附加到 .bak 文件。通过将 .bak 文件中的信息移动到当前证书和密钥文件中,可以还原之前的证书。
主机证书和密钥位于 /etc/vmware/ssl/rui.crt 和 /etc/vmware/ssl/rui.key 中。使用 vSphere Web Services SDK vim.CertificateManager 受管对象替换主机证书和密钥时,之前的密钥和证书将附加到 /etc/vmware/ssl/rui.bak 文件。
注: 如果通过 HTTP PUT、
vifs 或
ESXi Shell 替换证书,则现有证书不会附加到
.bak 文件。
过程
- 在 ESXi 主机上,找到 /etc/vmware/ssl/rui.bak 文件。
该文件具有以下格式:
#
# Host private key and certificate backup from 2014-06-20 08:02:49.961
#
-----BEGIN PRIVATE KEY-----
previous key
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
previous cert
-----END CERTIFICATE-----
- 将开头为
-----BEGIN PRIVATE KEY-----
且结尾为 -----END PRIVATE KEY-----
的文本复制到 /etc/vmware/ssl/rui.key 文件中。
包括
-----BEGIN PRIVATE KEY-----
和
-----END PRIVATE KEY-----
。
- 将
-----BEGIN CERTIFICATE-----
与 -----END CERTIFICATE-----
之间的文本复制到 /etc/vmware/ssl/rui.crt 文件中。
包括
-----BEGIN CERTIFICATE-----
和
-----END CERTIFICATE-----
。
- 重新启动主机或将 ssl_reset 事件发送至使用密钥的所有服务。
for s in /etc/init.d/*; do $s | grep ssl_reset > /dev/null; if [ $?== 0 ]; then $s ssl_reset; fi; done