生成本地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.crtca.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.crtrui.key 文件。我们需要替换它们。

  1. 开启 SSH 服务: 通过 ESXi 控制台(DCUI)或 vSphere Client 开启主机的 SSH 服务。
  2. 连接并备份原文件: 通过 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.crtrui.key 上传到 ESXi 的 /etc/vmware/ssl/ 目录下,替换同名文件
  • 重启管理服务: 替换文件后,需要重启 ESXi 的管理服务以加载新证书。
/etc/init.d/hostd restart
/etc/init.d/vpxa restart

如果未生效就重启主机

步骤四:在客户端电脑上导入自定义根 CA

这是最关键的一步!您的浏览器不会自动信任您自己创建的 CA。您需要手动将 ca.crt 导入到客户端电脑的“受信任的根证书颁发机构”中。

  1. ca.crt 文件复制到您要访问 ESXi 的 Windows 或 Mac 电脑上。
  2. Windows 用户:
    • 运行 certmgr.msc,打开证书管理器。
    • 导航到 “受信任的根证书颁发机构” -> “证书”
    • 右键选择 “所有任务” -> “导入”,然后导入您的 ca.crt 文件。
  3. macOS 用户:
    • 打开 “钥匙串访问 (Keychain Access)” 应用。
    • 选择 “系统”“登录” 钥匙串,然后将 ca.crt 文件拖入。
    • 双击导入的证书,将信任设置改为 “始终信任”

完成以上所有步骤后,您就可以在客户端电脑上通过浏览器访问 https://10.0.0.5,并且浏览器将不再显示“不安全连接”的警告了。

 

版权声明:
作者:laop
链接:https://laopy.dpdns.org/264.html
来源:LPY-老朋友
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>