欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker開啟TLS和CA認證的方法步驟

 更新時間:2021年08月27日 08:30:16   作者:小強崽  
本文主要介紹了Docker開啟TLS和CA認證的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言:Docker直接開啟2375端口是不安全的,別人只要連上之后就可以任意操作,下面是開啟Docker的TLS和CA認證方法,并使用Jenkins和Portainer連接。

一、生成證書

查看服務(wù)器主機名

hostname

auto-generate-docker-tls-ca.sh

# !/bin/bash

# 一鍵生成TLS和CA證書

# Create : 2021-08-25
# Update : 2021-08-25
# @Autor : wuduoqiang

# 服務(wù)器主機名
SERVER="6c377ffb8e86"
# 密碼
PASSWORD="2cx&BUjsV4u%3TW9"
# 國家
COUNTRY="CN"
# 省份
STATE="海南省"
# 城市
CITY="??谑?
# 機構(gòu)名稱
ORGANIZATION="小強崽公司"
# 機構(gòu)單位
ORGANIZATIONAL_UNIT="小強崽單位"
# 郵箱
EMAIL="875667601@qq.com"

# 生成CA密鑰
openssl genrsa -aes256 -passout pass:$PASSWORD  -out ca-key.pem 2048

# 生成CA證書
openssl req -new -x509 -passin "pass:$PASSWORD" -days 3650 -key ca-key.pem -sha256 -out ca-cert.pem -subj "/C=$COUNTRY/ST=$STATE/L=$CITY/O=$ORGANIZATION/OU=$ORGANIZATIONAL_UNIT/CN=$SERVER/emailAddress=$EMAIL"

# 生成服務(wù)端密鑰
openssl genrsa -out server-key.pem 2048

# 生成服務(wù)端證書簽名的請求文件
openssl req -subj "/CN=$SERVER" -new -key server-key.pem -out server-req.csr

# 生成服務(wù)端證書
openssl x509 -req -days 3650 -in server-req.csr -CA ca-cert.pem -CAkey ca-key.pem -passin "pass:$PASSWORD" -CAcreateserial -out server-cert.pem

# 生成客戶端密鑰
openssl genrsa -out client-key.pem 2048

# 生成客戶端證書簽名的請求文件
openssl req -subj '/CN=client' -new -key client-key.pem -out client-req.csr

# 生成客戶端證書
sh -c 'echo "extendedKeyUsage=clientAuth" >> extfile.cnf'
openssl x509 -req -days 3650 -in client-req.csr -CA ca-cert.pem -CAkey ca-key.pem  -passin "pass:$PASSWORD" -CAcreateserial -out client-cert.pem -extfile extfile.cnf

# 更改密鑰權(quán)限
chmod 0400 ca-key.pem server-key.pem client-key.pem
# 更改證書權(quán)限
chmod 0444 ca-cert.pem server-cert.pem client-cert.pem
# 刪除無用文件
# rm ca-cert.srl client-req.csr server-req.csr extfile.cnf

文件說明

ca.srl:CA簽發(fā)證書的序列號記錄文件
ca-cert.pem:CA證書
ca-key.pem:CA密鑰
server-key.pem:服務(wù)端密鑰
server-req.csr:服務(wù)端證書簽名請求文件
server-cert.pem:服務(wù)端證書
client-key.pem:客戶端密鑰
extfile.cnf:客戶端證書擴展配置文件
client-req.csr:客戶端證書簽名請求文件
client-cert.pem:客戶端證書

命令解析

# -subj /C=$COUNTRY/ST=$STATE/L=$CITY/O=$ORGANIZATION/OU=$ORGANIZATIONAL_UNIT/CN=$SERVER/emailAddress=$EMAIL
-subj 是 指定證書申請人的信息
C  是 Country Name
ST 是 State or Province Name
L  是 Locality Name
O  是 Organization Name
OU 是 Organizational Unit Name
CN 是 Common Name
emailAddress 是 Email Address

二、開啟遠程

開啟Docker的遠程訪問API

# 編輯文件
vim /etc/systemd/system/docker.service
# 修改內(nèi)容,注意證書的指定位置
ExecStart=/usr/bin/dockerd \
--tlsverify \
--tlscacert=/etc/docker/ca-cert.pem \
--tlscert=/etc/docker/server-cert.pem \
--tlskey=/etc/docker/server-key.pem \
-H unix:///var/run/docker.sock \
-H tcp://0.0.0.0:2375
# 重啟服務(wù)
systemctl daemon-reload && systemctl restart docker

如果沒有密鑰和證書是連不上的

docker -H 192.168.8.248:2375 images

使用主機名沒有密鑰和證書也是連不上的

docker -H 6c377ffb8e86:2375 images

加上密鑰和證書沒有使用主機名也是連不上

curl https://192.168.8.248:2375/info --cert ./client-cert.pem --key ./client-key.pem --cacert ./ca-cert.pem

加上密鑰和證書并且使用主機名就能訪問

curl https://6c377ffb8e86:2375/info --cert ./client-cert.pem --key ./client-key.pem --cacert ./ca-cert.pem

三、遠程連接

3.1 Jenkins連接

添加憑證

填寫信息

測試連接,注意這里要使用主機名

如果是docker安裝的jenkins,則需要映射主機名

version: '3'
services:
  jenkins:
    restart: always
    image: 192.168.8.247/xiaoqiangzai/jenkins:latest
    container_name: jenkins
    ports:
      - '8888:8080'
      - '50000:50000'
    volumes:
      - ./data/jenkins_home:/var/jenkins_home
      - ./data/war/jenkins.war:/usr/share/jenkins/jenkins.war
    environment:
      JENKINS_OPTS: "--prefix=/jenkins"
    extra_hosts:
      - "6c377ffb8e86:192.168.8.248"

3.2 Portainer連接

選擇客戶端密鑰和證書以及CA證書

連接正常

如果是docker安裝的Portainer,則需要映射主機名

version: '3'
services:
  portainer:
    restart: always
    image: portainer/portainer-ce:latest
    container_name: portainer
    privileged: true
    ports:
      - '9000:9000'
    volumes:
      - ./data/data:/data
      - ./data/public:/public
    extra_hosts:
      - "6c377ffb8e86:192.168.8.248"

到此這篇關(guān)于Docker開啟TLS和CA認證的方法步驟的文章就介紹到這了,更多相關(guān)Docker開啟TLS和CA認證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在CentOS啟動時自動加載內(nèi)核模塊overlayfs操作

    在CentOS啟動時自動加載內(nèi)核模塊overlayfs操作

    這篇文章主要介紹了在CentOS啟動時自動加載內(nèi)核模塊overlayfs操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker程序鏡像的安裝流程

    docker程序鏡像的安裝流程

    鏡像相當(dāng)于容器的"源代碼",docker 鏡像文件類似于 Java 類模板,而 docker 容器實例類似于 Java 中 new 出來的實例對象,這篇文章主要介紹了docker程序鏡像的安裝,需要的朋友可以參考下
    2024-01-01
  • Linux環(huán)境docker部署Firefox結(jié)合內(nèi)網(wǎng)穿透遠程使用瀏覽器測試的示例詳解

    Linux環(huán)境docker部署Firefox結(jié)合內(nèi)網(wǎng)穿透遠程使用瀏覽器測試的示例詳解

    在Docker中打開Firefox意味著我們將在一個Docker容器中運行Firefox瀏覽器,這對于一些特殊的測試場景非常有用,例如需要在不同版本的瀏覽器中進行測試,下面是一個簡單的示例,演示如何在Docker中打開Firefox,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • 前端項目容器化Docker打包部署方式詳解

    前端項目容器化Docker打包部署方式詳解

    這篇文章主要為大家介紹了前端項目容器化Docker打包部署方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Docker中的鏡像詳細介紹

    Docker中的鏡像詳細介紹

    這篇文章主要介紹了Docker中的鏡像詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 解決Jenkins集成docker插件問題的一些方法

    解決Jenkins集成docker插件問題的一些方法

    本文主要介紹了Jenkins集成docker插件問題的一些方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 詳解Shell腳本控制docker容器啟動順序

    詳解Shell腳本控制docker容器啟動順序

    這篇文章主要介紹了Shell腳本控制docker容器啟動順序的相關(guān)資料,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 常用的Docker基本命令及用法匯總

    常用的Docker基本命令及用法匯總

    Docker是一個用了一種新穎方式實現(xiàn)的超輕量虛擬機,在實現(xiàn)的原理和應(yīng)用上還是和VM有巨大差別,專業(yè)的叫法是應(yīng)用容器(Application Container)。今天給大家匯總介紹15個常用的docker命令以及用法
    2016-11-11
  • Docker 容器日志查看和清理的實現(xiàn)步驟

    Docker 容器日志查看和清理的實現(xiàn)步驟

    在處理Docker容器的過程中,經(jīng)常需要查看容器的日志輸出來排查問題或者進行系統(tǒng)監(jiān)控,本文主要介紹了Docker容器日志查看和清理的實現(xiàn)步驟,感興趣的可以了解一下
    2023-11-11
  • 詳解Docker 數(shù)據(jù)卷管理

    詳解Docker 數(shù)據(jù)卷管理

    本篇文章主要介紹了Docker 數(shù)據(jù)卷管理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07

最新評論