
组织可以创建自己的本地证书颁发机构(CA),也可以从第三方获取。这可能意味着需要不止一个证书,例如一个或多个中间证书和一个根证书。无论哪种情况,都必须添加证书颁发机构(CA)证书,以便其能用于各种使用场景。
证书可以是单个证书或组合证书(证书包)。以下步骤提供了一种将此类证书添加到Podman的方法。假设Podman正在运行,且待安装的证书可通过curl访问服务器获取。若无法实现此类访问,后续将提供替代方案。
首先,假设运行着一台Podman机器,通过ssh登录该机器:
podman machine ssh如果Podman在默认的无 root 模式下运行,则需要额外的命令才能进入 root shell:
[core@localhost ~]$ sudo su -执行上述命令后,提示符应变为表示“root”用户而非“core”用户。
接下来,在该机器上切换至应安装证书的目录:
[root@localhost ~]# cd /etc/pki/ca-trust/source/anchors然后使用curl下载证书。注意事项:
只有在安全连接到证书尚未被信任的服务器时,-k 才是必需的
应根据情况替换 MY-SERVER.COM/SOME-CERTIFICATE.pem
[root@localhost anchors]# curl -k -o some-certificate.pem https://MY-SERVER.COM/SOME-CERTIFICATE.pem如有多个证书,必要时重复此操作。
所有证书下载完成后,运行命令将证书添加到受信任的证书颁发机构(CA)列表中:
[root@localhost anchors]# update-ca-trust退出机器:
[root@localhost anchors]# exit如果如上文所述,使用了“sudo su -”命令切换到root shell,那么还需要再执行一个exit命令才能退出该机器:
[core@localhost ~]$ exit如果证书仍然不被接受,可能需要重启Podman机器。为此,请在主机(而非Podman机器内部)上执行以下命令:
podman machine stop
podman machine start如果由于某些原因上述方法不切实际或不合心意,可使用vi创建证书。
如上所述,假设Podman机器正在运行,通过ssh登录到该机器:
podman machine ssh如果提示符以“core”而不是“root”开头,请切换到root shell:
[core@localhost ~]$ sudo su -接下来,切换到应安装证书的目录:
[root@localhost ~]# cd /etc/pki/ca-trust/source/anchors然后使用vi创建证书。
[root@localhost ~]# vi SOME-CERTIFICATE.pemvi打开后,将证书复制到剪贴板,然后在插入模式下,将剪贴板内容粘贴到vi中。最后,保存文件并关闭vi。
如有多个证书,必要时重复上述操作。
所有证书创建完成后,运行命令将证书添加到受信任的CA列表中:
[root@localhost anchors]# update-ca-trust退出机器:
[root@localhost anchors]# exit如果使用了上述的“sudo su -”命令,则需要额外执行一个exit命令:
[core@localhost ~]$ exit证书安装会在机器重启时保持有效。无需停止并启动机器即可开始使用该证书。