idea docker远程TLS加密连接
docker远程TLS加密idea docker远程TLS加密连接一、TLS证书生成1、新建tls.sh文件并添加以下内容2、赋予运行权限3、执行脚本4、此时还剩以下文件二、docker配置远程连接1、打开文件2、ExecStart处添加以下内容3、加载上述配置,再重启docker服务三、idea配置远程连接docker1、idea安装docker插件2、下载客户端证书(关键)3、配置远程连接do
·
docker远程TLS加密
idea docker远程TLS加密连接
一、TLS证书生成
1、新建tls.sh文件并添加以下内容
#!/bin/bash
FILE_ADDRESS=/data/work
mkdir -p $FILE_ADDRESS
#DOMAIN_HOST=`ifconfig eth0 | grep "inet" | awk '{ print $2}' | sed -n '1p;1q'`
DOMAIN_HOST=域名地址 #选择域名方案最好
INTERNET_IP=服务器外网ip
HOST=$DOMAIN_HOST
# 自定义信息
PASSWORD="密码"
COUNTRY=CN
PROVINCE=gd
CITY=gz
ORGANIZATION=dounine
GROUP=dg
NAME=lake
SUBJ="/C=$COUNTRY/ST=$PROVINCE/L=$CITY/O=$ORGANIZATION/OU=$GROUP/CN=$HOST"
# 自定义信息
#============================================================================================
#此形式是自己给自己签发证书,自己就是CA机构,也可以交给第三方机构去签发
# 生成根证书RSA私钥,password作为私钥密码(身份证)
openssl genrsa -passout pass:$PASSWORD -aes256 -out $FILE_ADDRESS/ca-key.pem 4096
# 2.用根证书RSA私钥生成自签名的根证书(营业执照)
openssl req -new -x509 -days 365 -passin pass:$PASSWORD -key $FILE_ADDRESS/ca-key.pem -sha256 -subj $SUBJ -out $FILE_ADDRESS/ca.pem
#============================================================================================
#给服务器签发证书
# 1.服务端生成自己的私钥
openssl genrsa -out $FILE_ADDRESS/server-key.pem 4096
# 2.服务端生成证书(里面包含公钥与服务端信息)
openssl req -new -sha256 -key $FILE_ADDRESS/server-key.pem -out $FILE_ADDRESS/server.csr -subj "/CN=$DOMAIN_HOST"
# 3.通过什么形式与我进行连接,可设置多个IP地扯用逗号分隔
echo subjectAltName=IP:$INTERNET_IP,IP:0.0.0.0 > $FILE_ADDRESS/extfile.cnf
# 4.权威机构对证书进行进行盖章生效
openssl x509 -passin pass:$PASSWORD -req -days 365 -sha256 -in $FILE_ADDRESS/server.csr -CA $FILE_ADDRESS/ca.pem -CAkey $FILE_ADDRESS/ca-key.pem -CAcreateserial -out $FILE_ADDRESS/server-cert.pem -extfile $FILE_ADDRESS/extfile.cnf
#============================================================================================
#给客户端签发证书
openssl genrsa -out $FILE_ADDRESS/key.pem 4096
openssl req -subj '/CN=client' -new -key $FILE_ADDRESS/key.pem -out $FILE_ADDRESS/client.csr
echo extendedKeyUsage = clientAuth > $FILE_ADDRESS/extfile.cnf
openssl x509 -passin pass:$PASSWORD -req -days 365 -sha256 -in $FILE_ADDRESS/client.csr -CA $FILE_ADDRESS/ca.pem -CAkey $FILE_ADDRESS/ca-key.pem -CAcreateserial -out $FILE_ADDRESS/cert.pem -extfile $FILE_ADDRESS/extfile.cnf
#============================================================================================
# 清理文件
rm -rf $FILE_ADDRESS/ca-key.pem
rm -rf $FILE_ADDRESS/{server,client}.csr
rm -rf $FILE_ADDRESS/ca.srl
rm -rf $FILE_ADDRESS/extfile.cnf
# 最终文件
# ca.pem == CA机构证书
# cert.pem == 客户端证书
# key.pem == 客户私钥
# server-cert.pem == 服务端证书
# server-key.pem == 服务端私钥
注意 更改DOMAIN_HOST、INTERNET_IP 、PASSWORD值
2、赋予运行权限
chmod +x tls.sh
3、执行脚本
bash tls.sh
4、此时还剩以下文件
文件名 | 作用 |
---|---|
ca.pem | CA机构证书 |
ca-key.pem | 根证书RSA私钥 |
cert.pem | 客户端证书 |
key.pem | 客户私钥 |
server-cert.pem | 服务端证书 |
server-key.pem | 服务端私钥 |
二、docker配置远程连接
1、打开文件
vi /usr/lib/systemd/system/docker.service
2、ExecStart处添加以下内容
--tlsverify \
--tlscacert=/data/work/ca.pem \
--tlscert=/data/work/server-cert.pem \
--tlskey=/data/work/server-key.pem \
①:docker搭建时默认配置
②:无需TLS加密远程连接docker
③:TLS加密远程连接docker
3、加载上述配置,再重启docker服务
systemctl daemon-reload && systemctl restart docker
三、idea配置远程连接docker
1、idea安装docker插件
我这里已经安装了,没有安装的点击Install,然后重启docker即可
2、下载客户端证书(关键)
将服务器上生成的ca.pem、cert.pem、key.pem三个文件保存到本地文件系统
3、配置远程连接docker
连接成功后我们便可查看docker下的容器和镜像
更多推荐
已为社区贡献2条内容
所有评论(0)