bg-tutorials

如何在 UniFi Cloud Key 上生成 CSR

本教程介绍如何在 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.crtcloudkey.key),而步骤 3 中的命令会将新密钥覆盖写入 cloudkey.key。在您安装签发的证书之前,设备上的证书与其旁边的密钥将不再匹配,恢复此备份是将设备恢复原状的唯一方法。

Gen2 和 Gen2+ 注意事项:在运行 UniFi OS 的设备上,当前使用的证书和密钥是位于 /data/unifi-core/config/ 中的 unifi-core.crtunifi-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 并重新签发证书。

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

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

龙飞行的详细图像
撰写人

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