centos7/6.9 docker-ce-17/1.7.1使用证书登陆(openssl tls)
2017-11-15 17:46
525 查看
生成证书
ca key
ca
server key
生成server 证书
生成client证书
不推荐用dockerd
修改配置,使用证书
归集服务器证书
归集客户端证书
修改docker配置
重起docker
centos 6.9
添加
iptables 开端口
重起docker
客户端使用
证书拷贝到本地
使用bash文件
出现
Error response from daemon: client is newer than server (client API version: 1.24, server API version: 1.19)
ca key
openssl genrsa -aes256 -out ca-key.pem 4096
ca
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
server key
openssl genrsa -out server-key.pem 4096
生成server 证书
openssl req -subj "/CN=192.168.1.144" -sha256 -new -key server-key.pem -out server.csr
echo subjectAltName = IP:192.168.1.144,IP:127.0.0.1 >> extfile.cnf echo extendedKeyUsage = serverAuth >> extfile.cnf
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
生成client证书
rm extfile.cnf
openssl genrsa -out key.pem 4096 openssl req -subj '/CN=client' -new -key key.pem -out client.csr
echo extendedKeyUsage = clientAuth >> extfile.cnf
openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf
rm -v client.csr server.csr
chmod -v 0400 ca-key.pem key.pem server-key.pem chmod -v 0444 ca.pem server-cert.pem cert.pem
不推荐用dockerd
dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem -H=0.0.0.0:2376
修改配置,使用证书
归集服务器证书
cp server-*.pem /etc/docker/ cp ca.pem /etc/docker/
归集客户端证书
cp -v {ca,cert,key}.pem ~/.docker
修改docker配置
vi /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd 替换 ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock
重起docker
systemctl restart docker
centos 6.9
vi /etc/sysconfig/docker
添加
OPTIONS='--selinux-enabled --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock'
iptables 开端口
iptables -I INPUT -p tcp --dport 2376 -j ACCEPT iptables -L -n /etc/init.d/iptables save
重起docker
service docker restart
客户端使用
证书拷贝到本地
scp -r root@192.168.1.144:~/.docker/ .
使用bash文件
#!/bin/sh docker -H 192.168.1.144:2376 --tlsverify --tlscacert=/Users/jiangtao/myapp/192.168.1.144/ca.pem --tlscert=/Users/jiangtao/myapp/192.168.1.144/cert.pem --tlskey=/Users/jiangtao/myapp/192.168.1.144/key.pem $@
出现
Error response from daemon: client is newer than server (client API version: 1.24, server API version: 1.19)
export DOCKER_API_VERSION=1.19
相关文章推荐
- Mosquito使用SSL/TLS进行安全通信时的使用方法 ------生成和发布证书openssl
- Mosquito使用SSL/TLS进行安全通信时的使用方法 ------生成和发布证书openssl
- 使用自签名证书配置TLS搭建安全的Docker本地私有库
- 【原创】技术分享:使用openssl 把pfx证书转换为pem证书
- 使用OpenSSL生成证书
- 使用openssl生成包含证书链的java用jks证书
- docker 17 CE EE install
- Docker学习总结(17)——学会使用Dockerfile
- 使用 openssl 命令行构建 CA 及证书
- 使用keytool和openssl工具生成SSL双向认证密钥对和证书库
- 使用openssl进行证书格式转换
- Linux下如何颁发证书:学习使用openssl搭建一个CA
- 利用openssl管理证书及SSL编程第3部分:将MinGW编译的openssl dll导出def和lib供MSVC使用
- docker-ce-17.09 仓库的创建与使用
- 证书相关概念及使用openssl生成自认证证书
- Docker Registry Server 搭建,配置免费HTTPS证书,及拥有权限认证、TLS 的私有仓库
- OpenSSL生成证书详解 如何使用OpenSSL生成自签证书 转载
- 使用openssl来生成CA证书、证书申请、颁发证书以及撤销证书的过程
- linux学习之路之使用openssl创建私钥CA及使用CA为客户端颁发证书
- 使用OpenSSL 自建CA 以及颁发证书