Docker 开启SSL证书加密远程链接

1. 使用openssl 制作证书密钥

1.1. 在服务器中新建目录/etc/docker,并切换到该目录下

mkdir /etc/docker && cd /etc/docker

1.2. 创建根证书RSA私钥:

openssl genrsa -aes256 -out ca-key.pem 4096

备注:此处会提示输入证书密码,一共需要输入两次,请根据实际情况设置密码,设置成功后目录下生成ca-key.pem密钥文件

1.3. 创建CA证书

openssl req -new -x509 -days 1000 -key ca-key.pem -sha256 -subj "/CN=*" -out ca.pem

备注:以上一步生成的ca-key.pem秘钥创建证书,这里是自己作为ca机构,自己给自己签发证书,也可以从第三方ca机构服务商处签发证书。

1.4. 创建服务端私钥

openssl genrsa -out server-key.pem 4096

备注:此处生成server-key.pem密钥(服务端私钥)。

1.5. 创建服务端签名请求证书文件

openssl req -subj "/CN=*" -sha256 -new -key server-key.pem -out server.csr

备注:此处生成服务端证书文件server.csr 。

1.6. 创建签名生效的服务端证书文件

openssl x509 -req -days 1000 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem

备注:此处签名后的正式server-cert.pem为签名生效的服务端证书。创建期间要求输入证书密码(之前创建的证书密码)

1.7. 创建客户端私钥

openssl genrsa -out key.pem 4096

备注:此处生成的key.pem文件为客户端私钥,用于客户端远程链接认证

1.8. 创建客户端签名请求证书文件

openssl req -subj "/CN=client" -new -key key.pem -out client.csr

备注:此处生成的为客户端签的证书文件client.csr。

1.9. 创建extfile.cnf的配置文件

echo extendedKeyUsage=clientAuth > extfile.cn

1.10. 创建签名生效的客户端证书文件

openssl x509 -req -days 1000 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf

备注:此处生成的为客户端证书文件,用于客户端远程链接认证。

1.11. 删除多余文件

rm -rf ca.srl client.csr extfile.cnf server.csr

备注:删除多余文件后,该目录下剩余:
ca.pem CA机构证书
ca-key.pem 根证书RSA私钥
cert.pem 客户端证书
key.pem 客户私钥
server-cert.pem 服务端证书
server-key.pem 服务端私钥

2. 配置Docker支持TSL链接

2.1. 编辑docker.service配置文件

vim /lib/systemd/system/docker.service

找到ExecStart = 开头的一行代码,将其替换为如下内容:

ExecStart=/usr/bin/dockerd-current --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock \

备注:此处指定了ca证书、服务端证书和服务端密钥,端口设置为:2375(docker默认端口)

2.2. 刷新配置,重启Docker

systemctl daemon-reload && systemctl restart docker

3. 验证TSL方式远程链接Docker

3.1. 将服务器/etc/docker目录下的ca.pem、cert.pem、key.pem三个文件复制到客户端

可以通过scp命令远程复制到指定机器,也可以通过工具进行上下载上传,此处不详细介绍。

3.2 在客户端测试链接

docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H tcp://192.168.199.11:2375 version

备注:请切换至证书文件存放目录,执行上述命令,tcp://docke服务器宿主机地址:端口 进行链接测试,如过输出正确的docker版本信息,则表明配置成功。

4. 使用windows图形化工具进行验证

4.1. 下载安装Dcoker远程链接工具

下载地址:Docker Client v1.2.0 远程链接工具 for windows x64
软件说明:本软件下载需要5积分,如有需要也可以在下方评论区留言邮箱,免费发送至对应邮箱。
安装方法:按照默认方式进行下一步安装即可。
程序主界面:
主界面

4.2. 在界面左上角点击链接按钮后的下拉三角,选择SSL证书链接方式,如下:

TSL证书链接

4.3. 根据提示填写链接信息,如下:

链接信息填写
链接成功后,双击或右击左侧链接到远程Docker,链接成功后出现如下界面:
在这里插入图片描述

4.4. 镜像操作

  • 在线安装镜像,点击右侧安装镜像按钮,输入镜像名称点击搜索,出现如下界面:
    在这里插入图片描述
  • 启动镜像
  • 删除镜像

4.5. 容器操作

  • 点击上方容器按钮,切换如下界面:
    在这里插入图片描述
  • 启动容器
  • 停止容器
  • 删除容器
  • 查看日志

4.6. 软件声明

  • 本工具为博主自主研发,仅限个人用户使用,禁止商业用途,由使用不当造成的后果,博主不承担任何责任。
  • 软件持续更新中,如在使用过程中,遇到问题,请联系博主或在下方评论。
  • 在评论区下方留言邮箱,博主免费提供最新版软件。
发布了9 篇原创文章 · 获赞 16 · 访问量 2745

猜你喜欢

转载自blog.csdn.net/qq_32201423/article/details/104326438