如何在 Linux 上运行的 Ubiquiti UniFi 网络应用程序(控制器)上安装经过验证的 SSL 证书

如何在 Linux 上运行的 Ubiquiti UniFi 网络应用程序(控制器)上安装经过验证的 SSL 证书

我想用我已经拥有的签名(通配符)证书和私钥替换用于 UniFi 网络应用程序/服务器 v6.5(在 Ubuntu 18 Linux 上)的 Web 界面的自签名 Unifi 证书。

我应该把私钥放在哪里,证书放在哪里,以及如何配置 UniFi 网络应用程序/控制器以使用此证书?

我找到了一些信息,但它们都不适合我,或者看起来太复杂了。

答案1

转到 UniFi 基本文件夹

cd /usr/lib/unifi

将您的私钥文件和 pem 文件(单个文件,包括证书、中间 ca 证书和到根的链(如果需要))复制到/usr/lib/unifi/

如果需要,请将您的私钥从 PKCS#8 转换为 PKCS#1(当您收到类似以下错误消息时java.lang.IllegalStateException:private.key 包含不是密钥对的工件:org.bouncycastle.asn1.pkcs.PrivateKeyInfo

# OpenSSL 2:
openssl rsa -in private.key -out transformed-private.key

# OpenSSL 3:
openssl pkey -in private.key -traditional -out transformed-private.key

停止 UniFi 网络应用程序

service unifi stop

将证书和密钥导入密钥库

java -jar lib/ace.jar import_key_cert transformed-private.key certificate.pem

您可以选择添加 CA 证书作为附加的最后一个参数(如果它尚未包含在 certificate.pem 中)

启动 UniFi 网络应用程序

service unifi start

清理并删除您的证书和私钥文件。

就是这样。

答案2

这正是我所寻找的。

此外,如果你使用的是内部 CA(就像我一样),你还需要将 CA 证书上传到服务器并在最后指定它 -

sudo java -jar lib/ace.jar import_key_cert transformed-private.key certificate.pem ca-certificate.pem

答案3

此过程适用于 Windows 客户端

您需要两个文件(均为 PEM 格式);

  • unifi-core.crt证书
  • unifi-core.key你的私钥
  1. 启用 SSHhttps://10.0.0.1/settings/system

  2. 连接并检查现有文件

从 cmd.exe

ssh 10.15.15.1 -l root
cd /mnt/data/unifi-os/unifi-core/config/
ls -lh
  1. 上传新的证书和私钥

来自(另一个)cmd.exe

scp unifi-core.crt [email protected]:/mnt/data/unifi-os/unifi-core/config/unifi-core.crt
scp unifi-core.key [email protected]:/mnt/data/unifi-os/unifi-core/config/unifi-core.key
  1. 验证新文件并应用

从现有的 SSH 连接(步骤 2)

ls -lh
unifi-os restart
  1. 禁用 SSHhttps://10.0.0.1/settings/system

相关内容