生成本地ip的ssl,让浏览器不在提示不安全
步骤一:准备 OpenSSL 配置文件
为了让证书支持 IP 地址,我们必须使用 Subject Alternative Name (SAN) 字段。
在您的电脑上创建一个名为 esxi_cert_v3.ext 的文件,内容如下:
[ req ]
default_bits = 2048
default_md = sha256
prompt = no
encrypt_key = no
distinguished_name = req_distinguished_name
req_extensions = v3_req
[ req_distinguished_name ]
countryName = CN
stateOrProvinceName = Beijing
localityName = Beijing
organizationName = MyCompany
organizationalUnitName = IT
commonName = 10.0.0.5 # 证书的主体名,也可以填写IP
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
# 关键:将您的ESXi IP (10.0.0.5) 添加到 SAN 字段
subjectAltName = IP:10.0.0.5
步骤二:生成 ESXi 主机证书文件
我们首先要生成 ESXi 主机所需的私钥和证书签名请求 (CSR)。
1.生成 ESXi 私钥 (rui.key) 和 CSR (rui.csr):
openssl req -new -nodes -keyout rui.key -out rui.csr -config esxi_cert_v3.ext
2.生成一个自定义的“根 CA” (Root CA): 由于您没有企业内部 CA,我们需要自己创建一个用于签署证书的“根证书”。
- 生成根 CA 私钥 (
ca.key):
openssl genrsa -out ca.key 2048
- 生成根 CA 证书 有效期可自定义,3650就是日期(
ca.crt):
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt -subj "/C=CN/ST=MyState/L=MyCity/O=MyRootCA/CN=My ESXi Root CA"
3.使用自定义根 CA 签署 ESXi 证书: 使用上一步生成的 ca.crt 和 ca.key 签署 ESXi 的 CSR,有效期需保持一致。
openssl x509 -req -in rui.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out rui.crt -days 3650 -sha256 -extfile esxi_cert_v3.ext -extensions v3_req
现在您获得了三个文件:
rui.key:ESXi 主机的私钥rui.crt:ESXi 主机的服务器证书ca.crt:您自定义的根 CA 证书(需要导入到客户端电脑)
步骤三:导入证书到 ESXi 主机
ESXi 的 Web 服务默认使用 /etc/vmware/ssl/ 目录下的 rui.crt 和 rui.key 文件。我们需要替换它们。
- 开启 SSH 服务: 通过 ESXi 控制台(DCUI)或 vSphere Client 开启主机的 SSH 服务。
- 连接并备份原文件: 通过 SSH 工具连接到 ESXi (root 用户)。
# 备份原证书,以防万一
cp /etc/vmware/ssl/rui.crt /etc/vmware/ssl/rui.crt.bak
cp /etc/vmware/ssl/rui.key /etc/vmware/ssl/rui.key.bak
- 上传并替换文件:
- 使用 SCP 工具(如 WinSCP)将您电脑上生成的
rui.crt和rui.key上传到 ESXi 的/etc/vmware/ssl/目录下,替换同名文件。
- 使用 SCP 工具(如 WinSCP)将您电脑上生成的
- 重启管理服务: 替换文件后,需要重启 ESXi 的管理服务以加载新证书。
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
如果未生效就重启主机
步骤四:在客户端电脑上导入自定义根 CA
这是最关键的一步!您的浏览器不会自动信任您自己创建的 CA。您需要手动将 ca.crt 导入到客户端电脑的“受信任的根证书颁发机构”中。
- 将
ca.crt文件复制到您要访问 ESXi 的 Windows 或 Mac 电脑上。 - Windows 用户:
- 运行
certmgr.msc,打开证书管理器。 - 导航到 “受信任的根证书颁发机构” -> “证书”。
- 右键选择 “所有任务” -> “导入”,然后导入您的
ca.crt文件。
- 运行
- macOS 用户:
- 打开 “钥匙串访问 (Keychain Access)” 应用。
- 选择 “系统” 或 “登录” 钥匙串,然后将
ca.crt文件拖入。 - 双击导入的证书,将信任设置改为 “始终信任”。
完成以上所有步骤后,您就可以在客户端电脑上通过浏览器访问 https://10.0.0.5,并且浏览器将不再显示“不安全连接”的警告了。

共有 0 条评论