centos7

生成证书

工具:openssl

#cd /etc/docker   (docker的证书一般放这)

#openssl genrsa -aes256 -passout pass:密码  -out ca-key.pem 2048

会出现:

Generating RSA private key, 2048 bit long modulus
.............................................................+++
..................................................................................+++
e is 65537 (0x10001)

[root@webtest docker]# ls
ca-key.pem certs.d key.json

[root@webtest docker]# openssl req -new -x509 -days 365 -key ca-key.pem -passin pass:和上边相同的密码 -sha256 -out ca.pem -subj "/C=NL/ST=./L=./O=./CN=(server的ip)"
[root@webtest docker]# ls
ca-key.pem ca.pem certs.d key.json

[root@webtest docker]# openssl genrsa -out server-key.pem 2048
Generating RSA private key, 2048 bit long modulus
.........................................+++
...........................................................................+++
e is 65537 (0x10001)
[root@webtest docker]# ls
ca-key.pem ca.pem certs.d key.json server-key.pem

[root@webtest docker]# openssl req -subj "/CN=192.168.111.120" -new -key server-key.pem -out server.csr
[root@webtest docker]# ls
ca-key.pem ca.pem certs.d key.json server.csr server-key.pem

[root@webtest docker]# openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:qq77aa88" -CAcreateserial -out server-cert.pem
Signature ok
subject=/CN=192.168.111.120
Getting CA Private Key
[root@webtest docker]# ls
ca-key.pem ca.pem ca.srl certs.d key.json server-cert.pem server.csr server-key.pem

[root@webtest docker]# openssl genrsa -out key.pem 2048
Generating RSA private key, 2048 bit long modulus
.............................................+++
.............................................................................................................................................................................+++
e is 65537 (0x10001)
[root@webtest docker]# ls
ca-key.pem ca.pem ca.srl certs.d key.json key.pem server-cert.pem server.csr server-key.pem

[root@webtest docker]# openssl req -subj '/CN=client' -new -key key.pem -out client.csr
[root@webtest docker]# ls
ca-key.pem ca.pem ca.srl certs.d client.csr key.json key.pem server-cert.pem server.csr server-key.pem

[root@webtest docker]# sh -c 'echo "extendedKeyUsage=clientAuth" > extfile.cnf'
[root@webtest docker]# openssl x509 -req -days 365 -in client.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:qq77aa88" -CAcreateserial -out cert.pem -extfile extfile.cnf
Signature ok
subject=/CN=client
Getting CA Private Key
[root@webtest docker]# ls
ca-key.pem ca.pem ca.srl cert.pem certs.d client.csr extfile.cnf extfile.cnf’ key.json key.pem server-cert.pem server.csr server-key.pem

[root@webtest docker]# chmod 0400 ca-key.pem key.pem server-key.pem
[root@webtest docker]# chmod 0444 ca.pem server-cert.pem cert.pem
[root@webtest docker]# rm client.csr server.csr
rm:是否删除普通文件 "client.csr"?y
rm:是否删除普通文件 "server.csr"?y

设置docker daemon

# vim /lib/systemd/system/docker.service

启动参数后边追加

ExecStart=/usr/bin/dockerd-current \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY \
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock \
--tlsverify \
--tlscacert=/etc/docker/ca.pem \
--tlscert=/etc/docker/server-cert.pem \
--tlskey=/etc/docker/server-key.pem

# systemctl daemon-reload

# systemctl restart docker

测试:

[root@localmesos ~]# docker -H 192.168.111.120:2375 info
Get http://192.168.111.120:2375/v1.24/info: malformed HTTP response "\x15\x03\x01\x00\x02\x02".
* Are you trying to connect to a TLS-enabled daemon without TLS?

从server机器上 将ca.pem  cert.pem   key.pem 复制到client机器的/etc/docker目录下

# docker -H 192.168.111.120:2375 --tls --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/cert.pem --tlskey=/etc/docker/key.pem info

没问题

[root@localmesos docker]# docker -H 192.168.111.120:2375 --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/cert.pem --tlskey=/etc/docker/key.pem info
An error occurred trying to connect: Get https://192.168.111.120:2375/v1.24/info: x509: cannot validate certificate for 192.168.111.120 because it doesn't contain any IP SANs

docker 配置远程访问证书验证的更多相关文章

  1. Docker配置远程访问

    近来学习Docker部署微服务,需要配置Docker的远程访问,由于实际环境和学习资料有出入,尝试着根据网上搜索的一些相关资料进行配置,未能成功.最终通过自己摸索,成功配置Docker远程访问.现和大 ...

  2. docker 配置远程访问

    系统: centos 7 Docker version 1.12.6 yum 安装的  #yum install docker docker server在192.168.111.120上 # vim ...

  3. Centos7 Docker配置TLS认证的远程端口的证书生成教程(shell脚本一键生成)

    通过 TLS来进行远程访问 百度百科 - TLS.我们需要在远程 docker 服务器(运行 docker 守护进程的服务器)生成 CA 证书,服务器证书,服务器密钥,然后自签名,再颁发给需要连接远程 ...

  4. Ubuntu18.04下安装Docker并配置SSL证书加密远程连接

    Docker下载与安装 下载安装包 国内网络连接docker镜像还是比较慢的,这里推荐直接下载docker镜像,Ubuntu镜像下载路径为:https://download.docker.com/li ...

  5. nginx配置ssl双向验证 nginx https ssl证书配置

    1.安装nginx 参考<nginx安装>:http://www.ttlsa.com/nginx/nginx-install-on-linux/ 如果你想在单IP/服务器上配置多个http ...

  6. nginx配置https双向验证(ca机构证书+自签证书)

    nginx配置https双向验证 服务端验证(ca机构证书) 客户端验证(服务器自签证书) 本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件 这两个文件用于做服务器http ...

  7. 轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https

    上篇文章说道httpclient不能直接访问https的资源,这次就来模拟一下环境,然后配置https测试一下.在前面的文章中,分享了一篇自己生成并在tomcat中配置ssl的文章<Tomcat ...

  8. Docker配置整理

    目录: 以非root用户身份管理Docker 配置Docker以在启动时启动 配置Docker守护程序监听连接的位置 以非root用户身份管理Docker 默认情况下,Docker运行权限由用户roo ...

  9. WCF 安全性 之 自定义证书验证

    案例下载 http://download.csdn.net/detail/woxpp/4113172 客户端调用代码 通过代理类 代理生成 参见 http://www.cnblogs.com/woxp ...

随机推荐

  1. thinkphp 3.2.3在nginx+php下的url重写配置经验

    环境:centos7.2+lnmp1.3(nginx+php7.0+mysql5.5) 进入服务器配置路径:cd /usr/local/nginx/conf/nginx.conf 修改nginx.co ...

  2. Robots.txt 编写

    搜索引擎Robots协议,是放置在网站根目录下robots.txt文本文件,在文件中可以设定搜索引擎蜘蛛爬行规则.设置搜索引擎蜘蛛Spider抓取内容规则.下面Seoer惜缘举例robots写法规则与 ...

  3. 关于buffer,cache,wb,wt,clean,inv,flush,以及其他

    1. 有时候需要区分buffer和cache:buffer解决CPU写的问题,比如将多次写操作buffer起来一次性更新:cache解决CPU读的问题,将数据cache起来在下次读的时候快速取用. 2 ...

  4. jsoncpp解析拼装数组

    Cocos2d-x添加jsoncpp应该资料都有了,今天来讲讲数组的解析和拼装- int main() { 数组创建与分析: 例子一: string strValue = "{\" ...

  5. Jmeter 问题集

    1.配置分布式,调度机(master) 看不到 执行机(slave). 原因: slave是放在一个交换机下面,然后在这个交换机下面又接了个路由器,control连的这个路由器 解决: CONTROL ...

  6. SqlBulkCopy 快速插入数据

    [转]本文来自http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlbulkcopy(v=vs.80).aspx 此代码用于 ...

  7. ROS-RouterOS hAP ac2+usb 4G上网卡+小米新推的无线上网卡是绝配

    月租9元.每日缴1元.上网不限量 Model Tested RouterOS version Format Passthrough support TechnologiesZTE MF823 v6.8 ...

  8. fiddler基础功能介绍

  9. 对于分类问题的神经网络最后一层的函数:sigmoid、softmax与损失函数

    对于分类问题的神经网络最后一层的函数做如下知识点总结: sigmoid和softmax一般用作神经网络的最后一层做分类函数(备注:sigmoid也用作中间层做激活函数): 对于类别数量大于2的分类问题 ...

  10. unity3d中物体的控制

    一.物体的循环移动和旋转 思路:通过对时间的计算,每隔一段时间让物体旋转,实现来回移动. float TranslateSpeed = 0.02f; float TranslateSpeedTime ...