首页 > 其他分享 >docker 配置远程访问

docker 配置远程访问

时间:2023-02-21 03:22:06浏览次数:44  
标签:pem extfile ca echo 访问 key docker 远程 dir

一键创建证书脚本
#!/bin/sh
ip=你的IP
password=你的密码
dir=/root/docker/cert # 证书生成位置
validity_period=10    # 证书有效期10年

# 将此shell脚本在安装docker的机器上执行,作用是生成docker远程连接加密证书
if [ ! -d "$dir" ]; then
  echo ""
  echo "$dir , not dir , will create"
  echo ""
  mkdir -p $dir
else
  echo ""
  echo "$dir , dir exist , will delete and create"
  echo ""
  rm -rf $dir
  mkdir -p $dir
fi

cd $dir || exit
# 创建根证书RSA私钥
openssl genrsa -aes256 -passout pass:"$password" -out ca-key.pem 4096
# 创建CA证书
openssl req -new -x509 -days $validity_period -key ca-key.pem -passin pass:"$password" -sha256 -out ca.pem -subj "/C=NL/ST=./L=./O=./CN=$ip"
# 创建服务端私钥
openssl genrsa -out server-key.pem 4096
# 创建服务端签名请求证书文件
openssl req -subj "/CN=$ip" -sha256 -new -key server-key.pem -out server.csr

echo subjectAltName = IP:$ip,IP:0.0.0.0 >>extfile.cnf

echo extendedKeyUsage = serverAuth >>extfile.cnf
# 创建签名生效的服务端证书文件
openssl x509 -req -days $validity_period -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:$password" -CAcreateserial -out server-cert.pem -extfile 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

echo extendedKeyUsage = clientAuth >extfile-client.cnf
# 创建签名生效的客户端证书文件
openssl x509 -req -days $validity_period -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:$password" -CAcreateserial -out cert.pem -extfile extfile-client.cnf
# 删除多余文件
rm -f -v client.csr server.csr extfile.cnf extfile-client.cnf

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

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

 

资料来源:  

1、Linux开启Docker远程访问并设置安全访问(证书密钥)

标签:pem,extfile,ca,echo,访问,key,docker,远程,dir
From: https://www.cnblogs.com/AmqvMI/p/17139566.html

相关文章

  • maven从远程仓库下载依赖包失败(因权限问题导致)
    背景在学习rocketMq时,编译官方提供的可视化项目:rocketmq-dashboard,频频失败,报以下错误Couldnottransferartifactorg.apache.rocketmq:rocketmq-namesrv:pom:4.9.3......
  • windows下dapr的代码调试--非docker部署
    上一篇大概的整理了一下在vm虚拟机下通过docker部署dapr应用,作服务之间调用的例子。今天整理一下windows下dapr的非docker部署调试,毕竟大部分开发不需要花费太多时间做部......
  • docker多容器之间的连接(Flask和Redis)
    (一)docker多容器的应用使用flask编写一个web应用,将数据存放于redis中在docker开发中,我们应该遵循每个容器只做一件事的原则我们运行两个容器,一个用于运行fla......
  • docker-compose的使用
    (一)概述使用Docker来开发,我们应遵循每个容器只做一件事的原则,因此Flask应用、MySQL、Redis等,它们分别运行在各自的容器中,所以一个完整的项目,可以视为是由多个容器组成......
  • centos宿主机无法ping通docker容器以及dockers容器curl: (56) Recv failure: Connecti
    今天在测试docker容器时,本来配置的一切都挺顺利,放出我的测试经过:dockerrun-d--namenginx-p8080:80nginx然后这个nginx就在后台启动了,我接着使用命令curl127.......
  • redis的docker使用介绍
    介绍(redisversion)镜像,容器,仓库的关系仓库中可能有很多镜像,拉取一个镜像到本地,镜像在容器中运行如果在一个操作系统中需要使用到另外一种操作系统,那么可以使用docker......
  • Apache SSI远程命令执行漏洞复现
    漏洞原理:当目标服务器开启了SSI与CGI支持,就可以上传shtml文件,并利用语法执行任意命令,例如<!--#execcmd=”ls”-->,cmd后面跟要执行的命令。漏洞复现:启动环境,拉取镜像:漏......
  • docker常用命令
    Docker虚拟化#什么是Docker?Docker是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到安装了任何Linux发行版本的机器上......
  • 常用包管理工具, 国内换源操作以及源地址收集(npm, yarn, pip, docker, linux, github
    常用包管理工具的换源本文将保持更新,以适应不同时代软件源的变化;如发现软件源失效请留言提醒常用包管理工具,国内换源操作以及镜像源地址收集(npm,yarn,pip,doc......
  • Docker的初步认识,安装与基本操作
    一、Docker概述1、Docker的概念•Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源•Docker是在Linux容器里运行应用的开源工具,是一种轻量级......