尝试在 Ubuntu Pro 20.04 映像上安装 terraform、docker 等工具时,无法识别该映像上的 CA 证书

尝试在 Ubuntu Pro 20.04 映像上安装 terraform、docker 等工具时,无法识别该映像上的 CA 证书

对于我们的 Scale Sets,我使用 Ubuntu Pro 20.04 映像作为我们的基础映像。在这个基础映像上,我打算安装所有软件部署工具,包括 docker、terraform、kubernetes、helm、terragrunt 等。安装是通过 shell 脚本完成的,我首先设置所有局部变量、导入环境变量、设置公司代理并复制我们的根证书。证书本身是从 复制并可从 访问/usr/local/share/ca-certificates,另外也可以从/etc/ssl/certs和 从 访问 /usr/local/share/ca-certificates/。但是,当我尝试将证书加载到 ca-store 时,sudo update-ca-certificates证书没有加载,出现错误: Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. 奇怪的是,证书本身在所有这些位置,但不知何故无法被 Ubuntu 识别。这导致在尝试安装 terraform 和 docker 时出现以下输出:

==> azure-arm:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
==> azure-arm:                                  Dload  Upload   Total   Spent    Left  Speed
==> azure-arm:   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
==> azure-arm: curl: (60) SSL certificate problem: self signed certificate in certificate chain
==> azure-arm: More details here: https://curl.haxx.se/docs/sslcerts.html

如何重现:

echo "Install root-certificates"
cat << EOF > root-ca-certificate.pem
-----BEGIN CERTIFICATE-----
....
....
....
-----END CERTIFICATE-----
EOF
sudo cp root-ca-certificate.pem  /usr/local/share/ca-certificat/root-ca-certificate.crt
sudo chmod 644 /usr/local/share/ca-certificates/
sudo cp /usr/local/share/ca-certificates/root-ca-certificate.crt  /usr/share/ca-certificates/
sudo chmod 644 /usr/share/ca-certificates/root-ca-certificate.crt
sudo update-ca-certificates

我已尝试解决此问题:

  • 我创建了一个独立的 CA,证书本身已加载到存储区并确实存在,但仍然收到相同的错误,例如,我无法安装 terrafrom,并显示与上述相同的消息:(60) SSL 证书问题:证书链中的自签名证书
  • 我尝试从基于 Ubuntu 20.04 的 WSL2 本地安装这些工具,但没有成功,并且出现了同样的错误,但我也将 CA 证书保存在了相同的位置
  • 使用--insecure 工具安装标志跳过检查证书。工具的安装使用此方法
  • 我再次使用dpkg-reconfigure -f noninteractive ca-certificates,但未能成功将证书加载到 CA 存储中,也未能将其用于工具安装

这是 Ubuntu 的错误吗?还是我错过了任何与成功使用 CA 证书相关的信息?

相关内容