bg-tutorials

如何在Unifi Cloud Key上安装SSL证书

本教程为您提供了如何在 UniFi Cloud Key 上安装 SSL 证书的分步说明。Cloud Key 在 Java 密钥库之上运行 UniFi Network 应用程序,因此安装通过 SSH 完成:您需要从证书、私钥和 CA 证书链创建一个 PKCS#12 包,然后使用 Java keytool 工具将其导入 Cloud Key 密钥库,并重启 UniFi 服务。

在 UniFi Cloud Key 上生成 CSR 代码

证书签名请求(CSR)是一段编码文本,包含您的联系方式,例如域名和组织信息。每位申请者都必须生成一个 CSR 并将其发送给证书颁发机构(CA)进行验证,之后才能签发证书。对于 Cloud Key,CSR 中的公用名应为您用来访问控制器的主机名,例如 unifi.yoursite.com。

您有两种选择:

您可以使用任何文本编辑器(例如记事本)打开 CSR 文件,并在向 SSL 供应商申请证书时粘贴该内容。请妥善保管配套的私钥:在第 3 步创建 PKCS#12 包时还需要再次使用它。一旦 CA 验证了您的请求并通过电子邮件发送 SSL 文件,就可以继续进行下面的安装步骤。

在 UniFi Cloud Key 上安装 SSL 证书

Cloud Key 从位于 /usr/lib/unifi/data/keystore 的 Java 密钥库提供 HTTPS 服务。默认情况下,该密钥库中保存的是一个自签名证书,别名为 unifi,密码为 aircontrolenterprise。要安装您自己的证书,需要替换该条目:将您的文件打包为 PKCS#12 归档文件,将其导入到相同的别名下,然后重启 UniFi 服务。整个操作需要通过 SSH 完成,因此请先连接到 Cloud Key(Gen1 的默认 SSH 用户为 root,Gen2 则使用您在设备接入时设置的管理员账户)。

步骤 1:准备您的 SSL 文件

检查您的邮箱,下载包含证书的 ZIP 压缩包并解压。根据您的 SSL 提供商不同,您可能会获得以下部分或全部文件:

  • 主 SSL 证书(您的服务器证书)。
  • 中间 SSL 证书。
  • 根 SSL 证书。
  • CA 证书包,这是一个已经包含根证书和中间证书的单一文件。

您还需要与 CSR 一起生成的私钥。如果您使用的是我们的 CSR 生成器,该私钥在当时就已提供下载。

步骤 2:将 SSL 文件复制到 Cloud Key

通过 SCP 或 SFTP 将文件上传到 Cloud Key,并放置在 /etc/ssl/private/ 目录下。请使用以下名称,以便与后续步骤中的命令相匹配:

  • 主证书命名为 /etc/ssl/private/cloudkey.crt
  • 私钥命名为 /etc/ssl/private/cloudkey.key
  • CA 证书包(根证书和中间证书)命名为 /etc/ssl/private/yourcaname.crt

注意:每个 PEM 文件在结尾行之后必须以换行符结束。证书的最后一行正是五个连字符,接着是 END CERTIFICATE 字样,再接五个连字符(—–END CERTIFICATE—–);请确保其后有换行。缺少末尾的换行符是导入出错的常见原因。

步骤 3:将证书打包为 PKCS#12 文件

将您的私钥、主证书和 CA 证书包合并为一个 PKCS#12 文件。别名必须为 unifi,因为这正是 UniFi 密钥库所期望的别名。请将 enteryourpassword 替换为您自己选择的密码,并记住它:在第 4 步中,您需要将相同的值作为源密码传递给 keytool。

openssl pkcs12 -export -in /etc/ssl/private/cloudkey.crt -inkey /etc/ssl/private/cloudkey.key -out /etc/ssl/private/cloudkey.p12 -name unifi -CAfile /etc/ssl/private/yourcaname.crt -caname root -password pass:enteryourpassword

此命令会生成 /etc/ssl/private/cloudkey.p12,其中包含私钥、您的证书以及证书链,全部保存在别名 unifi 下。

步骤 4:将 PKCS#12 文件导入到 Cloud Key 密钥库

将 PKCS#12 文件导入到位于 /usr/lib/unifi/data/keystore 的现有密钥库中。目标密钥库已经使用密码 aircontrolenterprise,因此目标密钥库密码和密钥密码必须保持为 aircontrolenterprise。源密码是您在第 3 步中为 PKCS#12 文件设置的密码。

keytool -importkeystore -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destkeystore /usr/lib/unifi/data/keystore -srckeystore /etc/ssl/private/cloudkey.p12 -srcstoretype PKCS12 -srcstorepass enteryourpassword -alias unifi

如果 keytool 提示别名 unifi 已存在,这指的是默认的自签名条目。在提示时确认覆盖,或者先使用下面的命令删除旧条目,然后重新运行导入命令:

keytool -delete -alias unifi -keystore /usr/lib/unifi/data/keystore -storepass aircontrolenterprise

重要提示:请不要将密钥库密码修改为您自己的值。UniFi 服务被硬编码为使用 aircontrolenterprise 打开密钥库;如果您更改了该密码,控制器将无法读取证书,HTTPS 也将无法正常工作。

步骤 5:设置权限并删除临时文件

收紧 /etc/ssl/private/ 目录中文件的所有权和权限,确保私钥不会被所有人读取,然后删除不再需要的中间文件。请逐条运行以下命令:

chown root:ssl-cert /etc/ssl/private/*
chmod 640 /etc/ssl/private/*
rm /etc/ssl/private/cloudkey.p12

证书现在已保存在密钥库中,因此不再需要 PKCS#12 文件。如果您在此过程中还上传了 CSR 或 CA 文件,也可以将它们一并删除:

rm /etc/ssl/private/cloudkey.csr
rm /etc/ssl/private/yourcaname.crt

提示:在重启之前,您可以先备份密钥库,以便在需要时进行回滚。在 /usr/lib/unifi/data/ 目录下,使用 tar -cvf keystore-backup.tar keystore 进行归档。

步骤 6:使控制器主机名与证书匹配

为了让浏览器信任该证书而不出现名称不匹配的警告,请将控制器的主机名或 IP 设置为证书中的名称。在 UniFi Network 应用程序中,进入设置 > 系统(旧版本为:设置 > 控制器),将控制器主机名/IP设置为证书上的公用名,例如 unifi.yoursite.com。请确保该主机名在您的 DNS 中解析到 Cloud Key。

步骤 7:重启 UniFi 服务

新证书只会在 UniFi 服务启动时被读取,因此请重启服务以加载您的证书:

service unifi restart

在使用 systemd 的较新版 Cloud Key 固件上,等效命令为:

systemctl restart unifi

等待一分钟,让服务重新启动,然后在浏览器中重新加载控制器。恭喜,您的 SSL 证书现已成功安装在 UniFi Cloud Key 上。

测试您的 SSL 安装

安装证书后,请检查您的配置是否存在错误或漏洞,例如缺少中间证书或证书链不受信任。使用我们的SSL 检测工具可即时扫描并生成报告。由于 UniFi 控制器通常监听 8443 端口,请将检测工具指向完整地址,例如 unifi.yoursite.com:8443。您也可以通过命令行确认结果:

echo | openssl s_client -connect unifi.yoursite.com:8443 -servername unifi.yoursite.com 2>/dev/null | openssl x509 -noout -issuer -dates

此命令会打印证书的颁发者和有效期,让您确认 Cloud Key 正在提供您的证书,而不是之前的自签名证书。

常见问题

UniFi Cloud Key 上的 SSL 密钥库在哪里?

UniFi 密钥库是位于 /usr/lib/unifi/data/keystore 的 Java 密钥库。它保存着控制器通过 HTTPS 提供服务所使用的证书,存储在别名 unifi 下,并由默认密码 aircontrolenterprise 保护。

UniFi Cloud Key 上的默认密钥库密码是什么?

默认的密钥库密码是 aircontrolenterprise。请保持原样不要更改。UniFi 服务被硬编码为使用此密码打开密钥库,因此如果您更改了它,控制器将无法再读取您的证书。使用 keytool 导入时,请将其用作目标密钥库密码和密钥密码。

为什么导入证书后没有生效?

最常见的两个原因是密钥库密码错误和未重启服务。请确认您已使用密码 aircontrolenterprise 和别名 unifi 导入到位于 /usr/lib/unifi/data/keystore 的密钥库中,然后使用 service unifi restart 重启控制器。Cloud Key 只在启动时读取密钥库,因此新证书要重启后才会加载生效。

证书应该使用哪个别名?

别名必须为 unifi。在 openssl 中创建 PKCS#12 文件时,使用 -name unifi 选项来设置;在使用 keytool 导入时,使用 -alias unifi。如果您使用了不同的别名导入,控制器将继续提供旧的自签名证书。

如何在 Cloud Key 上重启 UniFi 服务?

通过 SSH 运行 service unifi restart。在使用 systemd 的较新固件上,请运行 systemctl restart unifi。您也可以从 Cloud Key 网页界面重启设备,但仅重启 UniFi 服务更快,且足以加载新证书。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.