idea集成docker CA加密认证

1、创建ca文件夹,存放CA私钥和公钥

mkdir -p /usr/local/ca
cd /usr/local/ca/

2、生成CA私钥和公钥

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

连续输入两次密码

3、依次输入密码、国家、省、市、组织名称、邮箱等

openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem

现在已经有了CA,接下来创建一个服务器密钥和证书签名请求(CSR),确保“公用名”与你用来连接到Docker的主机名匹配。

4、生成server-key.pem

openssl genrsa -out server-key.pem 4096

5、CA来签署公钥

由于TLS连接可以通过IP地址和DNS名称进行,所以在创建证书时需要指定IP地址。例如,允许使用10.10.10.20和127.0.0.1进行连接:

$Host换成你自己服务器外网的IP或者域名

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

6、配置白名单

1 )允许指定ip可以连接到服务器的docker,可以配置ip,用逗号分隔开。

2 )因为已经是ssl连接,所以我推荐配置0.0.0.0,也就是所有ip都可以连接(但只有拥有证书的才可以连接成功),这样配置好之后公司其他人也可以使用。

echo subjectAltName = IP:自己的服务器id,IP:0.0.0.0 >> extfile.cnf

7、将Docker守护程序密钥的扩展使用属性设置为仅用于服务器身份验证

echo extendedKeyUsage = serverAuth >> extfile.cnf

8、生成签名证书

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

9、生成客户端的key.pem

openssl genrsa -out key.pem 4096

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

10、使密钥适合客户端身份验证

echo extendedKeyUsage = clientAuth >> extfile.cnf

echo extendedKeyUsage = clientAuth > extfile-client.cnf

11、生成签名证书

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

生成cert.pem,需要输入前面设置的密码。

12、 删除不需要的文件

rm -v client.csr server.csr extfile.cnf extfile-client.cnf

一路确定即可

13、删除写入权限,只允许读取

chmod -v 0400 ca-key.pem key.pem server-key.pem

chmod -v 0444 ca.pem server-cert.pem cert.pem

14归集服务器证书

cp server-*.pem /etc/docker/

cp ca.pem /etc/docker/

15、修改Docker配置

vim /lib/systemd/system/docker.service

将 ExecStart=/usr/bin/dockerd替换为:
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 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

16、重新加载daemon并重启docker

systemctl daemon-reload

systemctl restart docker

17、保存相关客户端的pem文件到本地

18、IDEA CA配置

原文地址:https://www.cnblogs.com/yamiya/p/12578567.html

时间: 2024-08-06 10:24:34

idea集成docker CA加密认证的相关文章

Linux的加密认证功能以及openssl详解

一.详细介绍加密.解密技术 现在的加密/解密技术主要有三种:对称加密,非对称加密,和单向加密 这三种加密解密技术的组合就是现在电子商务的基础,它们三个有各自最适合的领域,而且所要完成的功能也是不同的,大家都知道,只要我们连上互联网,那么我们就相当于大门洞开,我们的一些隐私,跟其他人对话内容等都有可能会被人窃听,最常见的比如man in the middle(中间人),它主要是因为双方身份无法验证的时候回话被劫持造成的,就是说通信双方都以为是在跟对方交流,其实内容都可能已经被这个“中间人”修改过,

Openssl建立CA,在组织内部基于ca的认证

Openssl建立CA,在组织内部基于ca的认证 1.给自己生成一对密钥 2.自签署证书 节点:1.生成密钥对   2.申城证书签署请求    3.把请求发送给CA CA: 1.验证请求者信息     2.签署证书 一.建立CA服务器 /etc/pki/CA/private用于存放CA的私钥 1.(umask 077:openssl genrsa -out /etc/pki/private/cakey.pem 2048)   生成密钥 2.req -x509 自签署证书,常用于CA自己签署自己的

Docker配置TLS认证,修复因暴露2375端口引发漏洞

1.环境准备 # 查看Docker服务器主机名hostnamectl 这里记住我的主机名s130就好 # 静态主机名修改vi /etc/hostname# 临时主机名修改(重启失效)hostname s130   2.创建TLS证书 创建create_crets.sh文件并执行,生成的证书在/certs/docker目录下, # create_crets.sh,将[证书生成脚本]内容复制进去touch create_crets.sh chmod 755 create_crets.sh # 证书生

linux CA 加密解密技术

一.基础知识 对称加密: 加密和解密方使用同一个密钥,用来解决数据机密性,但是密钥通过何种方式传递给对方不容易实现: 公钥加密: 密钥是成对出现的,分别为Secret key(密钥)和Public key(公钥)公钥加密必须使用与其相对应的 私钥进行解密并且公钥是从私钥中提取出来的,有私钥可以知道公钥是什么,但是知道公钥是不能知 道私钥的,公钥是公开的,而私钥是不公开的,但是公钥加密比对称加密慢3个数量级(1000倍), 加密速度相当的慢,所以单独用此加密方式也比较困难:公钥加密功能: 单向加密

Java利用jcifs集成AD域用户认证

最近一段时间发现AD这东西老火了,尤其是涉及到安全这一方面的,所以AD域用户认证成了现在网络安全方面的产品必备!这里就简单的分享一下,Java通过jcifs集成AD域用户实现认证,以实现网络安全! 我们通过一个demo来看看jcifs实现SSO,SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同一 个用户的登录的机制.它是目前比较流行的企业业务整合的解决方案之一. 第

DNS递归查询、主从、加密认证、负载均衡

环境同DNS练习之正向解析. 在sishen64主机上安装必要软件 [[email protected] ~]# yum install -y bind bind-chroot bind-libs bind-utils 重启named服务 编辑核心配置文件: [[email protected] ~]# vim /var/named/chroot/etc/named.conf 重启named服务: [[email protected] ~]# service named restart 查看:

Shiro集成web环境[Springboot]-认证与授权

Shiro集成web环境[Springboot]--认证与授权 在登录页面提交登陆数据后,发起请求也被ShiroFilter拦截,状态码为302 <form action="${pageContext.request.contextPath}/user/login" method="post"> Username:<input type="text" name="username"></br>

Spring boot 入门(四):集成 Shiro 实现登陆认证和权限管理

本文是接着上篇博客写的:Spring boot 入门(三):SpringBoot 集成结合 AdminLTE(Freemarker),利用 generate 自动生成代码,利用 DataTable 和 PageHelper 进行分页显示.按照前面的博客,已经可以搭建一个简单的 Spring Boot 系统,本篇博客继续对此系统进行改造,主要集成了 Shiro 权限认证框架,关于 Shiro 部分,在本人之前的博客(认证与Shiro安全框架)有介绍到,这里就不做累赘的介绍. 此系列的博客为实践部分

MySQL之登陆密码加密认证脚本

一.登陆密码加密认证脚本应用场景 日常操作,经常明文指定了MySQL密码来登录MySQL服务,在登录成功之后就会抛出下面的警告:[root@git-server ~]# mysql -uroot -p'wujianwei' Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MyS