A.1.4 分发密钥

现在已经有了全部的密钥和证书,是时候将他们分发到客户端和daemon节点上了。复制如下文件。

  • 从CA复制 ca.pemdaemon-cert.pem ,以及 daemon-key.pemnode3 (daemon节点)
  • 从CA复制 ca.pemclient-cert.pem ,以及 client-key.pemdeno1 (客户端节点)

下面会介绍如何使用 scp 完成复制操作,读者也可随意选择其他工具使用。

node2 (CA节点)密钥所在目录下运行下面的命令。

// Daemon files
$ scp ./ca.pem ubuntu@daemon:/home/ubuntu/.docker/ca.pem
$ scp ./daemon-cert.pem ubuntu@daemon:/home/ubuntu/.docker/cert.pem
$ scp ./daemon-key.pem ubuntu@daemon:/home/ubuntu/.docker/key.pem
//Client files
$ scp ./ca.pem ubuntu@client:/home/ubuntu/.docker/ca.pem
$ scp ./client-cert.pem ubuntu@client:/home/ubuntu/.docker/cert.pem
$ scp ./client-key.pem ubuntu@client:/home/ubuntu/.docker/key.pem

关于命令需要注意以下几点。

(1)第2、3、5以及第6条命令在复制过程中对文件进行了重命名。重命名非常重要,因为Docker对文件的命名规范有规定。

(2)命令假设使用的环境是Ubuntu Linux,并且使用 ubuntu 作为用户账户。

(3)在执行命令前,需要分别在daemon和客户端所在节点上提前创建 /home/ubuntu/.docker 这个隐藏目录。此外还需要修改 .docker 目录的权限,允许复制操作执行。可以使用 chmod 777.docker ,但这种方式并不安全。切记,当前只是为了快速创建一个CA和证书,才可以这么做。在安全的PKI构建中该操作决不允许。

(4)如果当前环境是AWS,需要在每条命令之后通过 -i <key> 来指定实例的私钥。

当前环境如图A.3所示。

146.png

图A.3 更新密钥后的环境

node1node3 节点只会信任由其CA公钥签名的CA以及证书。

配置了正确的证书后,就可以开始配置Docker的客户端和daemon使用TLS了。

results matching ""

    No results matching ""