最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker TLS 證書一鍵生成腳本(安全加密遠(yuǎn)程訪問)

 更新時(shí)間:2026年06月12日 09:27:37   作者:中國lanwp  
本文主要介紹了Docker TLS 證書一鍵生成腳本(安全加密遠(yuǎn)程訪問),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

這是一鍵自動(dòng)生成 Docker TLS 加密證書的 Shell 腳本,無需手動(dòng)輸入復(fù)雜命令,自動(dòng)生成 CA 證書、服務(wù)端證書、客戶端證書,配置好權(quán)限,直接復(fù)制就能用,完美適配 CentOS7 / AlmaLinux9。

腳本功能

  1. 一鍵生成 CA 根證書 + Docker 服務(wù)端證書 + 客戶端證書
  2. 自動(dòng)設(shè)置證書權(quán)限(Docker 強(qiáng)制要求證書權(quán)限 600/400)
  3. 自動(dòng)打包客戶端證書(方便下載到本地使用)
  4. 自動(dòng)輸出 Docker 守護(hù)進(jìn)程 TLS 啟動(dòng)配置
  5. 支持自定義服務(wù)器IP/域名(必須填寫,否則遠(yuǎn)程無法連接)

Docker TLS 證書一鍵生成腳本

docker_tls_gen.sh

#!/bin/bash
# Docker TLS 證書一鍵生成腳本
# 作用:生成安全加密證書,用于 Docker 遠(yuǎn)程加密訪問 (2376端口)
# 執(zhí)行:chmod +x docker_tls_gen.sh && ./docker_tls_gen.sh
# 注意:必須填寫你的服務(wù)器公網(wǎng)IP/域名

set -e

# ====================== 請修改這里 ======================
# 你的 Docker 服務(wù)器 IP 或者 域名(遠(yuǎn)程訪問使用)
DOCKER_HOST="192.168.1.100"
# 證書存放目錄
CERT_DIR="/etc/docker/certs.d"
# 證書有效期(天)
EXPIRY_DAYS=3650
# ========================================================

# 顏色輸出
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'

# 檢查 root 權(quán)限
if [ $(id -u) -ne 0 ]; then
    echo -e "${RED}請使用 root 用戶執(zhí)行腳本!${NC}"
    exit 1
fi

# 檢查 openssl
if ! command -v openssl &> /dev/null; then
    echo -e "${YELLOW}正在安裝 openssl...${NC}"
    yum install -y openssl
fi

# 創(chuàng)建證書目錄
mkdir -p ${CERT_DIR}
cd ${CERT_DIR}

echo -e "${GREEN}==================== 開始生成 Docker TLS 證書 ====================${NC}"
echo -e "${YELLOW}服務(wù)器地址:${DOCKER_HOST}${NC}"
echo -e "${YELLOW}證書目錄:${CERT_DIR}${NC}"

# ========== 1. 生成 CA 根證書 ==========
echo -e "\n${YELLOW}[1/5] 生成 CA 根證書...${NC}"
openssl genrsa -aes256 -passout pass:docker -out ca-key.pem 4096
openssl req -new -x509 -days ${EXPIRY_DAYS} -key ca-key.pem -passin pass:docker -sha256 -out ca.pem -subj "/CN=docker-ca"

# ========== 2. 生成服務(wù)端私鑰 ==========
echo -e "${YELLOW}[2/5] 生成服務(wù)端私鑰...${NC}"
openssl genrsa -aes256 -passout pass:docker -out server-key.pem 4096

# ========== 3. 生成服務(wù)端證書簽名請求 ==========
echo -e "${YELLOW}[3/5] 生成服務(wù)端證書簽名請求...${NC}"
openssl req -new -key server-key.pem -passin pass:docker -sha256 -out server.csr -subj "/CN=${DOCKER_HOST}"

# 配置擴(kuò)展信息(支持IP/域名)
echo "subjectAltName = IP:${DOCKER_HOST},IP:127.0.0.1" > extfile.cnf
echo "extendedKeyUsage = serverAuth" >> extfile.cnf

# ========== 4. 簽發(fā)服務(wù)端證書 ==========
echo -e "${YELLOW}[4/5] 簽發(fā)服務(wù)端證書...${NC}"
openssl x509 -req -days ${EXPIRY_DAYS} -in server.csr -CA ca.pem -CAkey ca-key.pem -passin pass:docker -CAcreateserial -out server-cert.pem -extfile extfile.cnf

# ========== 5. 生成客戶端證書 ==========
echo -e "${YELLOW}[5/5] 生成客戶端證書...${NC}"
openssl genrsa -aes256 -passout pass:docker -out key.pem 4096
openssl req -new -key key.pem -passin pass:docker -out client.csr -subj '/CN=client'
echo "extendedKeyUsage = clientAuth" > extfile-client.cnf
openssl x509 -req -days ${EXPIRY_DAYS} -in client.csr -CA ca.pem -CAkey ca-key.pem -passin pass:docker -CAcreateserial -out cert.pem -extfile extfile-client.cnf

# 刪除臨時(shí)文件
rm -f ./*csr ./*srl extfile.cnf extfile-client.cnf

# 移除證書密碼(方便Docker啟動(dòng),無需手動(dòng)輸入密碼)
echo -e "\n${YELLOW}移除證書密碼...${NC}"
openssl rsa -in server-key.pem -passin pass:docker -out server-key.pem
openssl rsa -in key.pem -passin pass:docker -out key.pem

# 設(shè)置證書權(quán)限(Docker 強(qiáng)制要求)
echo -e "${YELLOW}設(shè)置證書安全權(quán)限...${NC}"
chmod -v 0400 ca-key.pem server-key.pem key.pem
chmod -v 0444 ca.pem server-cert.pem cert.pem
chown -v root:root ./*

# 打包客戶端證書
tar zcf docker-client-certs.tar.gz ca.pem cert.pem key.pem

echo -e "\n${GREEN}==================== 證書生成完成!====================${NC}"
echo -e "${GREEN}證書目錄:${CERT_DIR}${NC}"
echo -e "${GREEN}客戶端證書包:${CERT_DIR}/docker-client-certs.tar.gz${NC}"

# 輸出 Docker 啟動(dòng)配置
echo -e "\n${YELLOW}==================== Docker TLS 啟動(dòng)配置 ====================${NC}"
cat << EOF
請將以下配置寫入 /etc/docker/daemon.json :
{
  "hosts": ["tcp://0.0.0.0:2376", "unix:///var/run/docker.sock"],
  "tls": true,
  "tlsverify": true,
  "tlscacert": "${CERT_DIR}/ca.pem",
  "tlscert": "${CERT_DIR}/server-cert.pem",
  "tlskey": "${CERT_DIR}/server-key.pem"
}

配置完成后重啟 Docker:
systemctl daemon-reload
systemctl restart docker

遠(yuǎn)程連接命令(客戶端):
docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H ${DOCKER_HOST}:2376 info
EOF

使用方法(3 步搞定)

1. 腳本內(nèi)修改服務(wù)器IP

打開腳本,把 DOCKER_HOST 改成你自己的服務(wù)器IP/域名

DOCKER_HOST="192.168.1.100"   # 改成你的服務(wù)器公網(wǎng)IP

2. 授權(quán)并執(zhí)行

chmod +x docker_tls_gen.sh
./docker_tls_gen.sh

3. 配置 Docker 并重啟

腳本執(zhí)行完成后,自動(dòng)輸出配置,直接復(fù)制粘貼即可:

# 編輯 Docker 配置
vi /etc/docker/daemon.json

# 粘貼腳本輸出的配置
# 保存退出

# 重啟 Docker
systemctl daemon-reload
systemctl restart docker

客戶端遠(yuǎn)程連接 Docker

腳本會(huì)自動(dòng)打包客戶端證書:/etc/docker/certs.d/docker-client-certs.tar.gz

  1. 下載到本地電腦
  2. 解壓得到 3 個(gè)文件:
    • ca.pem
    • cert.pem
    • key.pem
  3. 使用命令遠(yuǎn)程連接:
docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H 你的服務(wù)器IP:2376 info

總結(jié)

  1. 一鍵生成:無需手動(dòng)輸入 openssl 命令,全自動(dòng)生成
  2. 安全合規(guī):證書權(quán)限嚴(yán)格按照 Docker 要求配置
  3. 開箱即用:自動(dòng)輸出配置,直接復(fù)制就能啟用 TLS 加密
  4. 遠(yuǎn)程安全:2376 端口加密訪問,杜絕未授權(quán)訪問

到此這篇關(guān)于Docker TLS 證書一鍵生成腳本(安全加密遠(yuǎn)程訪問)的文章就介紹到這了,更多相關(guān)Docker TLS證書一鍵生成腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker Compose 常用命令詳解(最新推薦)

    Docker Compose 常用命令詳解(最新推薦)

    Docker Compose 是一個(gè)用于定義和運(yùn)行多容器 Docker 應(yīng)用的工具,本文將詳細(xì)介紹 Docker Compose 的常用命令,幫助你高效地管理容器應(yīng)用,感興趣的朋友一起看看吧
    2025-04-04
  • Docker安裝MinIO的實(shí)現(xiàn)示例

    Docker安裝MinIO的實(shí)現(xiàn)示例

    本文主要介紹了Docker安裝MinIO的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Docker部署Fio磁盤讀寫測試過程

    Docker部署Fio磁盤讀寫測試過程

    文章主要內(nèi)容是介紹如何使用Fio測試工具進(jìn)行磁盤性能測試,包括拉取測試工具鏡像、啟動(dòng)容器、執(zhí)行測試以及詳細(xì)解釋Fio的命令行參數(shù)和配置文件
    2026-01-01
  • docker常用命令總結(jié)之安裝、鏡像、容器基本操作

    docker常用命令總結(jié)之安裝、鏡像、容器基本操作

    這篇文章主要介紹了docker常用命令總結(jié)之安裝、鏡像、容器基本操作,需要的朋友可以參考下
    2017-05-05
  • docker 鏡像加速CentOS7詳細(xì)介紹

    docker 鏡像加速CentOS7詳細(xì)介紹

    這篇文章主要介紹了docker 鏡像加速CentOS7詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • docker如何查看已安裝的Redis版本

    docker如何查看已安裝的Redis版本

    這篇文章主要介紹了docker如何查看已安裝的Redis版本問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker之實(shí)現(xiàn)掛載的三種方式匯總

    Docker之實(shí)現(xiàn)掛載的三種方式匯總

    這篇文章主要介紹了Docker之實(shí)現(xiàn)掛載的三種方式匯總,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • MacOS安裝Docker的過程及遇到的坑

    MacOS安裝Docker的過程及遇到的坑

    這篇文章給大家分享MacOS安裝Docker的過程及遇到的坑,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友參考下
    2018-01-01
  • Docker?Swarm?操作對容器端口影響記錄

    Docker?Swarm?操作對容器端口影響記錄

    在使用Docker Swarm 構(gòu)建集群環(huán)境過程中,于ts3節(jié)點(diǎn)出現(xiàn)了原有的容器端口全部失效,手動(dòng)重啟后才恢復(fù)的情況,這篇文章主要介紹了Docker Swarm操作對容器端口影響,需要的朋友可以參考下
    2025-04-04
  • docker設(shè)置redis密碼實(shí)現(xiàn)方式

    docker設(shè)置redis密碼實(shí)現(xiàn)方式

    這篇文章主要介紹了docker設(shè)置redis密碼實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2026-06-06

最新評(píng)論

上饶县| 安图县| 泗阳县| 都兰县| 平阳县| 星子县| 江源县| 类乌齐县| 颍上县| 沁水县| 榆林市| 东至县| 英吉沙县| 遂昌县| 阿拉善盟| 佛山市| 互助| 习水县| 苍山县| 临猗县| 四会市| 丰台区| 永康市| 电白县| 潼南县| 凤庆县| 资源县| 和静县| 阜南县| 中牟县| 兴义市| 泰安市| 哈密市| 鄂州市| 会同县| 三亚市| 铜梁县| 呼伦贝尔市| 南溪县| 昌黎县| 邓州市|