shell脚本自动更新ca证书

该脚本检查certbot是否已安装,如果未安装则通过snap进行安装,并配置DNS插件certbot-dns-cloudflare。接着,它使用API Token获取或更新test.com的SSL证书,并将证书保存到Kubernetes的secret中。这个过程确保了网站的安全通信并自动化了证书管理流程。
#!/bin/bash
#运行环境,1、ubuntu18.0以上,2、已经安装snap;3、已安装kubectl
certbot=`certbot --help`
if test $? -eq 0
then
	echo "已安装certbot,为test.com获取Let'sencrypt证书"
else
	echo "未安装certbot,开始安装certbot"
	sudo snap install --classic certbot
	if test $? -ne 0
	then
		echo "安装certbot失败"
		exit 1
	else
		sudo ln -s /snap/bin/certbot /usr/bin/certbot
	fi	 
fi
echo "DNS插件:certbot-dns-cloudflare"
snap set certbot trust-plugin-with-root=ok
snap install certbot-dns-cloudflare
api_token="fQfZchmS3E_Ldx5Yox1LSIa9Ur-pEP3g7B5YLeJ-"
cat > ./cloudflare.ini << EOF
dns_cloudflare_api_token=${api_token}
EOF
if test -e /etc/letsencrypt/live/test.com/fullchain.pem
then
	echo "更新证书"
	certbot renew
else
	echo "安装证书"
	certbot certonly \
  	--dns-cloudflare \
  	--dns-cloudflare-credentials ./cloudflare.ini \
  	-d tpmission.com
fi
echo "保存证书到k8s保密字典"
kubectl delete secret  test-tls-secret
kubectl create secret tls test-tls-secret \
  --cert=/etc/letsencrypt/live/test.com/fullchain.pem  \
  --key=/etc/letsencrypt/live/test.com/privkey.pem

if test $? -eq 0
then 
	echo "证书更新成功"
	exit 0
else 
	echo "证书更新失败"
	exit 1
fi





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值