重装LXD后出现certificate signed by unknown authority错误如何解决
问题根因
该x509证书校验错误是因为LXD重装后生成了全新的服务端证书,而本地客户端(包括LXC工具链、Terraform LXD Provider等)仍然缓存了旧版本的服务端证书,两者不匹配导致校验失败。你执行lxc remote add命令后仍报错,是因为默认localhost远程端的旧证书缓存没有被同步清理。
解决步骤
- 第一步:删除本地缓存的所有冲突证书
rm -rf ~/.config/lxc/servercerts/{localhost.crt,nimbus.crt} # 如果你使用root身份操作,对应路径为 /root/.config/lxc/servercerts/
- 第二步:移除旧的冲突远程端条目
lxc remote remove localhost lxc remote remove nimbus
- 第三步:重新添加远程端并信任新证书
首先确认LXD服务正常运行且监听对应端口:
systemctl is-active lxd # 输出active即为正常,否则执行systemctl start lxd启动服务 # 确认服务端已配置HTTPS监听 lxc config get core.https_address # 如果输出为空,执行以下命令配置监听: lxc config set core.https_address 127.0.0.1:5555 systemctl restart lxd
之后重新添加远程端:
lxc remote add nimbus 127.0.0.1:5555 --accept-certificate --password=你的LXD管理密码 # 如需将其设为默认远程端,执行: lxc remote set-default nimbus
- 第四步:如果你是通过Terraform调用LXD出现该报错,额外清理Terraform缓存
在你的Terraform项目目录执行:
rm -rf .terraform .terraform.lock.hcl terraform init
验证修复
执行lxc list或对应操作命令,确认不再出现证书校验报错即可。
内容的提问来源于stack exchange,提问作者Marcos Dione
相关产品推荐
相关产品推荐

