本教程介绍如何在 Ubiquiti UniFi Cloud Key 上生成 CSR(证书签名请求)。Cloud Key 的网页界面中没有内置的 CSR 生成器,因此您需要通过 SSH 使用 OpenSSL 来创建 CSR。以下步骤适用于 Cloud Key Gen1 和 Gen2/Gen2+,以及运行在 Linux 上的自托管 UniFi Network Application 安装。
在 UniFi Cloud Key 上生成 CSR
如果您已经生成了 CSR,请直接跳转到 UniFi Cloud Key SSL 安装说明。
您也可以使用我们的 CSR 生成器来自动创建 CSR,而无需在设备上运行 OpenSSL 命令。
要求
- 对 Cloud Key 的 SSH 访问权限(在 UniFi OS 设置中启用 SSH,或通过设备的 IP 地址在端口 22 上直接连接)。
- 对终端命令有基本了解。
- 已安装 OpenSSL(Cloud Key 固件中已预装)。
步骤 1:通过 SSH 连接到 Cloud Key
打开终端(Windows 上可使用 PuTTY),连接到您的 Cloud Key:
ssh [email protected]
将 192.168.1.x 替换为您 Cloud Key 的 IP 地址。对于 UniFi OS 设备(Gen2/Gen2+),请使用您在初始设置期间设置的凭据登录。
步骤 2:备份现有证书文件(可选,但建议执行)
在生成新文件之前,请为当前证书目录创建备份:
cp -r /etc/ssl/private ~/cloudkey-cert-backup
这样可以保留您现有的密钥和证书,以便在需要时恢复。此备份在这里非常重要:在 Cloud Key Gen1 上,该目录已经保存了设备正在使用的证书和密钥(cloudkey.crt 和 cloudkey.key),而步骤 3 中的命令会将新密钥覆盖写入 cloudkey.key。在您安装签发的证书之前,设备上的证书与其旁边的密钥将不再匹配,恢复此备份是将设备恢复原状的唯一方法。
Gen2 和 Gen2+ 注意事项:在运行 UniFi OS 的设备上,当前使用的证书和密钥是位于 /data/unifi-core/config/ 中的 unifi-core.crt 和 unifi-core.key,而不是 /etc/ssl/private。请改为备份该目录,并将请求生成到您选择的路径中。
步骤 3:生成 CSR 和私钥
运行以下 OpenSSL 命令,一步创建一个 2048 位 RSA 私钥和 CSR。请将每个占位符值替换为您自己的信息:
openssl req -new -newkey rsa:2048 -nodes -sha256
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=unifi.yourdomain.com"
-addext "subjectAltName=DNS:unifi.yourdomain.com"
-keyout /etc/ssl/private/cloudkey.key
-out /etc/ssl/private/cloudkey.csr
注意:-addext 标志需要 OpenSSL 1.1.1 或更高版本(Cloud Key Gen2/Gen2+ 以及运行固件 1.1.6+ 的 Gen1 设备均已内置)。如果您的设备使用的是较旧版本的 OpenSSL,您可以省略 -addext,改为通过 OpenSSL 配置文件添加 SAN,或使用 CSR 生成器。在 OpenSSL 3.x 中,您可以使用 -noenc 代替 -nodes,两者都会生成未加密的私钥。
CSR 字段参考
-subj 字符串中的每个字段都对应一个证书属性。请按以下方式填写:
- C:两位字母的国家代码(ISO 3166),例如 US。
- ST:州或省(使用完整名称,不要缩写)。
- L:城市或地区。
- O:您组织的法定名称。对于域名验证(DV)证书,此字段为可选项。
- CN:您用于访问 Cloud Key 控制器的完全限定域名(FQDN),例如 unifi.yourdomain.com。
-addext "subjectAltName=..." 这一行设置了主题备用名称(SAN)字段。现代浏览器要求主机名出现在 SAN 中,而不仅仅是 CN 中。如果您需要覆盖多个主机名,请用逗号分隔:
-addext "subjectAltName=DNS:unifi.yourdomain.com,DNS:cloudkey.yourdomain.com"
步骤 4:验证 CSR
在提交 CSR 之前,请确认主题信息和 SAN 是否正确:
openssl req -in /etc/ssl/private/cloudkey.csr -noout -text
请查看 Subject: 这一行(应与您的 -subj 值一致)以及 X509v3 Subject Alternative Name 部分(应列出您的 FQDN)。您也可以将 CSR 内容粘贴到 SSL Dragon 的 CSR 解码器中进行可视化检查。
步骤 5:将 CSR 提交给您的证书颁发机构
使用文本编辑器打开 CSR 文件,或将其打印到终端:
cat /etc/ssl/private/cloudkey.csr
复制全部输出内容,包括 -----BEGIN CERTIFICATE REQUEST----- 和 -----END CERTIFICATE REQUEST----- 这两行。在向 CA 订购 SSL 证书的过程中,将其粘贴到 CSR 字段中。
请将私钥文件(/etc/ssl/private/cloudkey.key)保留在 Cloud Key 上。稍后当您将 SSL 证书安装到 UniFi 密钥库时会用到它。
步骤 6:保护私钥安全
限制密钥文件的访问权限,使其仅可由 root 用户读取:
chmod 600 /etc/ssl/private/cloudkey.key
切勿通过未加密的通道共享或传输私钥。如果您怀疑私钥已被泄露,请生成一个新的 CSR 并重新签发证书。


