让 SSL 证书管理更简单:k ssl 命令实战手册

KEJILION.SH 是一个综合性的 Linux 服务器管理工具箱,旨在通过直观的命令行界面简化系统管理、监控和部署任务。这个强大的 shell 脚本集合为初学者和经验丰富的管理员提供了高效管理 Linux 环境的基本工具。

在 HTTPS 成为网站标配的今天,SSL 证书的申请、部署与续签已成为日常运维的刚需。k ssl 命令封装了 Let's Encrypt 证书全流程操作,让证书管理变得简单高效。本文为你整理一份完整的使用指南。


📋 一、基础命令速览

命令 作用 使用场景
k ssl 快速申请SSL证书(交互式) 单个域名申请,按提示输入
k ssl yourdomain.com 为指定域名申请SSL证书 批量脚本,自动化部署
k ssl ps 查看所有证书到期状态 定期检查证书健康度

🔍 二、核心命令详解

1️⃣ 快速申请证书:k ssl

bash 复制代码
k ssl

功能:进入交互式证书申请流程

操作步骤

  1. 输入目标域名
  2. 系统自动检测 DNS 解析状态
  3. 调用 Let's Encrypt 申请免费证书
  4. 自动配置 Nginx 并热加载

证书存放位置

arduino 复制代码
证书文件:/home/web/certs/{域名}_cert.pem
私钥文件:/home/web/certs/{域名}_key.pem

2️⃣ 指定域名申请:k ssl yourdomain.com

bash 复制代码
k ssl yourdomain.com

功能:直接为指定域名申请证书,跳过交互步骤

优势

  • ✅ 适合 Shell 脚本批量调用
  • ✅ 支持 CI/CD 自动化部署
  • ✅ 参数简洁,域名无需带协议头

⚠️ 注意:域名参数不要包含 http://https://


3️⃣ 证书状态查询:k ssl ps

bash 复制代码
k ssl ps

功能:显示所有已申请证书的健康状态

输出信息

  • 🌐 域名
  • 📅 颁发日期
  • ⏰ 过期日期
  • ⏳ 剩余天数

建议:配合 cron 每天执行,及时发现即将过期证书,避免服务中断。


🔄 三、自动化续签机制

虽然 k ssl 未提供直接续签命令,但系统内置了智能续签脚本:

手动执行续签检查

bash 复制代码
./auto_cert_renewal.sh

配置定时任务(推荐)

bash 复制代码
# 编辑 crontab
crontab -e

# 每天凌晨 3 点自动检查续签
0 3 * * * /path/to/auto_cert_renewal.sh

续签流程说明

graph LR A[检测15天内到期证书] --> B[停止Nginx+临时放行防火墙] B --> C[Docker Certbot申请新证书] C --> D[自动部署+重启服务] D --> E[记录日志+恢复防火墙]

📁 四、证书文件结构

bash 复制代码
/home/web/certs/
├── yourdomain.com_cert.pem    # 公钥证书(PEM格式)
├── yourdomain.com_key.pem     # 私钥文件(请妥善保管)
├── ticket12.key               # TLS 1.2 会话票证
└── ticket13.key               # TLS 1.3 会话票证

🔐 安全提示:私钥文件权限建议设置为 600,仅 root 可读


⚡ 五、实用示例集锦

🔄 批量申请多个域名

bash 复制代码
for domain in site1.com site2.com site3.com; do
    k ssl $domain
done

📊 定时检查证书状态

bash 复制代码
# 每周一早上9点检查,日志留存
0 9 * * 1 /usr/local/bin/k ssl ps > /var/log/ssl_check.log

🔎 查看证书详细信息

bash 复制代码
openssl x509 -in /home/web/certs/yourdomain.com_cert.pem -text -noout

💾 定期备份证书

bash 复制代码
tar -czf certs_backup_$(date +%Y%m%d).tar.gz /home/web/certs/

🚨 六、注意事项清单

项目 说明
🌐 域名解析 申请前确保 A 记录已正确指向服务器 IP
🔌 80 端口 HTTP-01 验证需临时开放 80 端口
🧱 防火墙 脚本会自动处理 iptables/firewalld 规则
📅 有效期 Let's Encrypt 证书有效期为 90 天
🔄 续签限制 同一域名每周最多续签 5 次,避免滥用

🎯 七、最佳实践工作流

bash 复制代码
# 1️⃣ 首次申请证书
k ssl yourdomain.com

# 2️⃣ 每周定期检查状态
k ssl ps

# 3️⃣ 配置自动续签(强烈推荐)
crontab -e
# 添加:0 3 * * * /path/to/auto_cert_renewal.sh >> /var/log/ssl_renewal.log 2>&1

# 4️⃣ 每月备份证书文件
tar -czf /backup/certs_$(date +%Y%m).tar.gz /home/web/certs/
相关推荐
礼拜天没时间.2 小时前
JumpServer堡垒机部署与实战:从0到1搭建统一运维入口
linux·运维·架构·堡垒机·jumpserver·sre
林姜泽樾2 小时前
linux入门第四章,cd指令和相对、绝对路径
linux·运维·服务器
是小崔啊2 小时前
叩丁狼k8s-运维管理
运维·容器·kubernetes
江畔何人初3 小时前
kubernetes中configmap与secret的区别
linux·运维·云原生·容器·kubernetes
henry1010103 小时前
Ansible自动化运维全攻略(AI生成)
linux·运维·python·ansible·devops
vortex53 小时前
APT软件包管理从入门到精通
linux·运维·服务器·kali
古译汉书3 小时前
RTOS:ISR与互斥量的关系
运维·服务器·stm32·嵌入式硬件
feng68_3 小时前
Keepalived基础实现
运维·服务器·keepalived
暴力求解4 小时前
Linux---基础IO详解
linux·运维·服务器