跳到主要内容

安装证书颁发机构

PODMAN logo

====================

组织可以创建自己的本地证书颁发机构(CA)或从第三方获取。这可能意味着不止一个证书,例如一个或多个中间证书和根证书。在任何情况下,都有必要添加证书颁发机构(CA)的证书,以便将其用于各种用例。

方法

证书可以是单个的,也可以是串联的(捆绑的)。以下步骤是将此类证书添加到 Podman 中的一种方法。假设 Podman 正在运行,并且要通过 curl 从可访问的服务器上安装证书。如果无法进行此类访问,请遵循后面的替代方法。

首先,假设 Podman 机器正在运行,通过 ssh 进入该机器:

podman machine ssh

如果 Podman 以默认的 rootless 模式运行,则需要额外的命令来获取 root shell:

sudo su -

执行上述命令后,提示符应该更改以指示当前用户是“root”而不是“core”。

接下来,在机器中,切换到应该安装证书的目录:

cd /etc/pki/ca-trust/source/anchors

然后使用 curl 下载证书。注意:

  • 只有在安全地连接到尚未受信任的服务器时才需要 -k
  • MY-SERVER.COM/SOME-CERTIFICATE.pem 应根据实际情况替换
curl -k -o some-certificate.pem https://MY-SERVER.COM/SOME-CERTIFICATE.pem

根据需要重复此操作以获取多个证书。

一旦所有证书都已下载,运行以下命令将证书添加到受信任的 CA 列表中:

update-ca-trust

退出机器:

exit

方法二(如果无法通过 curl 访问)

如果由于某种原因无法通过 curl 访问证书,那么可能需要手动将证书复制到 Podman 机器上。这可以通过多种方式完成,例如使用 scp 命令或通过挂载文件系统。

一旦证书文件被复制到 Podman 机器上的 /etc/pki/ca-trust/source/anchors 目录中,就需要运行 update-ca-trust extract 命令来更新受信任的 CA 数据库。这个命令会扫描 /etc/pki/ca-trust/source 目录下的所有证书,并更新 /etc/pki/ca-trust 下的证书数据库。

请注意,对于运行 Podman 的特定环境或配置,可能还需要进行其他步骤或考虑其他因素。始终建议查阅 Podman 的官方文档或相关资源,以获取针对您特定用例的详细和准确的指导。

如果使用了“sudo su -”命令来切换到root shell,如上所述,那么需要再执行一个exit命令来退出机器:

exit
```bash

### 替代方法

如果由于某些原因上述方法不可行或不理想,可以使用vi来创建证书。

如上所述,假设Podman机器正在运行,通过ssh进入该机器:

```bash
podman machine ssh
```bash

如果提示符以“core”而不是“root”开头,请切换到root shell:

```bash
sudo su -
```bash

接下来,切换到证书应该安装的目录:

```bash
cd /etc/pki/ca-trust/source/anchors
```bash

然后使用vi来创建证书。

```bash
vi SOME-CERTIFICATE.pem
```bash

在vi打开后,将证书复制到剪贴板,然后在插入模式下,将剪贴板内容粘贴到vi中。最后,保存文件并关闭vi。

如果有多个证书,请重复上述步骤。

一旦所有证书都已创建,运行以下命令将证书添加到受信任的CA列表中:

```bash
update-ca-trust
```bash

退出机器:

```bash
exit
```bash

如果之前使用了“sudo su -”命令,那么还需要再执行一个exit命令:

```bash
exit
```bash

### 最终说明

证书安装将在机器重启期间持续存在。无需停止和重新启动机器即可开始使用证书。