Esxi 自定义证书的要求越来越高了,例如下面不同版本的要求:
当前6.7 和7.0要求是一样的
上个月namecheap申请的证书马上到期要续签,没注意邮件,过期才发现,只能重新购买证书了,但是按照之前的步骤申请证书、更换证书后web 端根本打不开了,重启之后甚至虚拟机也不能启动了。折腾一下午终于搞好了,找到了一个标准的方法,并且发现网上几乎没有正确的教程,甚至官方的教程都太老,是错的,遂记录下来。
首先要修改hostname及fqdn:
# 获取当前hostname相关信息
esxcli system hostname get
# 更改hostname及fqdn,名称均为要申请证书的域名
esxcli system hostname set --host=<domain>
esxcli system hostname set --fqdn=<domain>
# 修改完后最好再查看一下当前的信息
esxcli system hostname get
然后是生成CSR阶段,这里是根据官方教程,但是引用的一个重要文档太旧官方居然也不更新。
建立一个openssl.cnf配置文件,此处根据上面提到的重要文档加上 ESXi 7.0 最新版的要求修改而来,内容如下:
[ req ]
default_bits = 4096
default_keyfile = rui.key
distinguished_name = req_distinguished_name
encrypt_key = no
prompt = no
string_mask = nombstr
req_extensions = v3_req
[ v3_req ]
basicConstraints = CA:TRUE
keyUsage = digitalSignature, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth, clientAuth
# subjectAltName:DNS这里要包含完整域名,可写多个
# IP貌似可不写但没试,最好写上吧,写上之后如果走Nginx反向代理,Nginx所在IP不同也没事
subjectAltName = DNS:<domain1>, DNS:<domain2>, IP:192.168.1.200
[ req_distinguished_name ]
countryName = CN
stateOrProvinceName = BJ
localityName = BeiJing
0.organizationName = VMWare
organizationalUnitName = vCenterInventoryService
commonName = <domain>
然后生成CSR文件 rui.csr 与私钥 rui-orig.key:
openssl req -new -nodes -out rui.csr -keyout rui-orig.key -config openssl.cnf
转换私钥 rui-orig.key 为 RSA 格式:
openssl rsa -in rui-orig.key -out rui.key
接下来根据CSR申请证书,例如我是用namecheap签发证书,这里不再赘述,都有相关教程,没什么错误。此外还要注意一点,签发下来后下载证书文件zip包,网上的教程都说合并 ca-bundle 与 crt 文件是错的,直接使用那里面的 crt 证书即可,更换文件后最好重启下ESXi。然后没什么问题了。
“更换证书后web 端根本打不开了,重启之后甚至虚拟机也不能启动了。”
和我遇到的情况完全一样,但我无法直接进管理界面,因为做了显卡直通。该如何解决?
exsi做了HTTPS的证书更换,然后就无法访问WEB页面了,重启后还是无法访问。
物理机直接接显示器,因为是显卡直通,无法进入管理界面。
现在关显卡直通也关不了,进管理界面也进不了,开SSH也开不了
你解决了嘛
你这种情况因为开了显卡直通要么加个显卡,要么重置吧