Docker开启远程安全访问的图文教程详解

Docker开启远程安全访问的图文教程详解,第1张

Docker开启远程安全访问的图文教程详解

详细介绍了Docker开启远程安全访问的详细示例教程,按照图文并茂的方式非常详细。对大家的学习、培训或者工作都有一定的参考价值,一定要朋友们参考。

一、写docker.service文档

VI/usr/lib/systemd/system/docker.service

寻找[Service]连接点,更改ExecStart特性,升级-hTCP://0.0.0:2375。

ExecStart=/usr/bin/dockerd-HFD://-containerd=/run/containerd/containerd.sock-HTCP://0.0.0.0:2375

那就相当于扩展开放了端口号2375,自然可以根据自身情况换成别的。

二。重装码头设备生效

systemctl守护程序-重新加载
systemctl重新启动docker

请根据你的电脑浏览器访问2375进行测试。文件格式为:http://ip:2375/version。

如果无法访问,可以尝试打开服务器防火墙2375端口号。实际说明如下:

防火墙-cmd-zone=public-add-port=2375/TCP-permanent
防火墙-cmd-reload

如果还是无法访问,如果应用设备是云主机,比如阿里云服务器、腾讯云服务,就必须去数据库安全组标准看端口号2375是否对外开放。如果没有配备,您可以升级端口配置。

然后你可以在Idea中的Docker软件中立即连接和检测:

三。配备Docker安全访问

以上两个步骤不要在工作环境中使用!用在开发工具里就好了。如果Docker马上暴露在公众面前,那就风险很大,就像你没有给Redis6379设置密码一样。

在网上很多文章的基础上,内容都是以上两步,裸跑的过程……你品味它,你细细品味它,不会让你劫持给任何人。

其实官方的在线文本文档已经根据CA资质证书展示了加密方法。点击此处了解详情。

1.建立CA公钥和CA公钥。

首先,建立一个ca文件夹来存储公钥和公钥。

mkdir-p/usr/local/ca
CD/usr/local/ca

然后,在Docker守护进程的服务器上,形成CA公钥和公钥:

OpenSSLgenRSA-AES256-outca-key.PEM4096

执行上述命令后,将要求您输入支付密码,然后才能进行下一步。在这里,我将密码设置为:niceyoo。

2.完成CA资质证书的信息内容。

执行以下命令:

opensslreq-new-x509-days365密钥ca-key.pem-sha256-outca.pem

然后输入:access登录密码,我们国家的名称,省,市,组织,公司名称,任何名称,电子邮件地址等。为了更方便,我用了niceyoo,而不是机构和企业。

中国北京北京apkdream@163.com

至此,CA资格证书已经建立。拥有CA后,您可以建立网络服务器密钥和证书签名要求(CSR),以确保“公用名”与连接到Docker时使用的IP地址相匹配。

3.形成server-key.pem

OpenSSLgenRSA-outserver-key.PEM4096

4.用CA签署公钥

因为可以根据IP地址和DNS名称创建TLS连接,所以在建立资格证书时需要指定IP地址。例如,10.211.55.4允许加入:

OpenSSLreq-subj"/CN=10.211.55.4"-sha256-new-keyserver-key.PEM-outserver.CSR

如果您使用的是网站地址(例如:www.sscai.club),只需将其更改为:

OpenSSLreq-subj"/CN=www.sscai.club"-sha256-new-keyserver-key.PEM-outserver.CSR

注:此处网站的ip或域名均指未来将对外开放的详细地址。

5、具有授权管理

授权管理的实际意义取决于允许什么ip远程连接docker。有两种方法,但5.2的第二个过程可以立即实施:

5.1。允许特定的ip连接到网络服务器中的docker。几个IP用分号隔开。

如果你公开的docker详细地址是ip详细地址,给出如下说明:

echosubjectAltName=DNS:$HOST,IP:XX。XX.XX.XX,IP:XX。XX.XX.XX>>extfile.cnf

申请的时候把$HOST改成自己的ip详细地址或者网址,这个要看你暴露的docker连接是ip还是网址。

#10.211.55.4网络服务器上的docker,只容许ip详细地址为221.217.177.151的顾客联接 echosubjectAltName=DNS:10.211.55.4,IP:221.217.177.151>>extfile.cnf #www.sscai.club网络服务器上的docker,只容许ip详细地址为221.217.177.151与127.0.0.1的顾客联接 echosubjectAltName=DNS:www.sscai.club,IP:221.217.177.151,IP:127.0.0.1>>extfile.cnf

5.2。配备0.0.0.0,可以连接所有IP(但只有拥有永久资质证书的IP才能成功连接)

echosubjectaltname=DNS:10.211.55.4,IP:0.0.0.0>;>extfile.cnf

6.运行命令。

将Docker守护进程密钥的扩展应用程序功能设置为仅用于网络服务器验证:

echoextendedkeyusage=serverauth>;>extfile.cnf

7.形成带符号的整数金额。

OpenSSLx509-req-days365-sha256-inserver.CSR-CACA.PEM-CAkeyCA-key.PEM\
-cacreateserial-outserver-cert.PEM-extfileextfile.cnf

实现后,您必须键入上面设置的登录密码。

8.形成手机客户端的key.pem

OpenSSLgenRSA-outkey.PEM4096
OpenSSLreq-subj'/CN=client'-new-keykeykey.PEM-outclient.CSR

9.使密钥适用于手机客户端认证。

展开环境变量:

echoextendedkeyusage=clientauth>;>extfile.CNF
echoextendedkeyusage=clientauth>;extfile-client.cnf

10.形成带符号的整数金额。

OpenSSLx509-req-days365-sha256-inclient.CSR-CACA.PEM-CAkeyCA-key.PEM\
-CAcreateserial-outcert.PEM-extfileextfile-client.cnf

要形成cert.pem,您必须重新输入之前设置的登录密码:niceyoo。

11.删除未使用的文档,需要两个整数签名。

在形成cert.pem之后,server-cert.pem可以安全地删除两个证书签名要求并扩展环境变量:

RM-vclient.CSRserver.CSRextfile.cnfextfile-client.cnf

12.管理权限可以更改。

为了更好地保护您的密钥免受意外损坏,请删除其加载管理权限。要让他们只为您阅读文章,请按如下方式更改文档格式:

chmod-v0400ca-key.PEMkey.PEMserver-key.PEM

如果资质证书可以使其可写并对外开放,则删除装载管理权限,避免意外损坏:

chmod-v0444ca.pem服务器-cert.pem证书.pem

13.记账服务器证书

cp服务器-*。PEM/etc/docker/
CPca.PEM/etc/docker/

14.更换码头设备。

使Docker守护进程只接受来自出示CA信任证书的手机客户端的连接。

vim/lib/systemd/system/docker.service

更改ExecStart特征值:

ExecStart=/usr/bin/dockerd-TLSverify-tlscacert=/usr/local/ca/ca.PEM-TLScert=/usr/local/ca/server-cert.PEM-TLSkey=/usr/local/ca/server-key.PEM-HTCP://0.0.0.0:2375-HUNIX:///var/run/dockersock

15.重新加载守护进程并重启docker。

systemctl守护程序-重新加载

systemctl重新启动docker

让我们转到IDEA中的docker控制模块进行认证,先看一下之前的连接:

显然,你不能连接。此时,您必须获得docker主机建立的资格证书,然后通过申请资格证书进行连接:

将这四个鉴定文档保存到本地文件夹中。该文件夹名称将用于idea中的特定名称。不得不说,TCP中的连接一定要改成Https文件格式。主要内容如下图所示:

摘要

到目前为止,这篇关于Docker对远程安全访问的说明的文章已经在这里详细介绍过了。有关Docker远程访问的大量信息,请搜索您以前的文章或再次访问下面的相关文章。期待你以后更多的应用!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/774471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存