让 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/
相关推荐
mounter62513 分钟前
基于MLX设备的Devlink 工具全指南与核心架构演进
linux·运维·服务器·网络·架构·kernel
xuanwojiuxin34 分钟前
[linux] what‘s the kdump?
linux·运维·服务器
透明的玻璃杯41 分钟前
关于QT客户端和服务器端之前状态监控
运维·服务器
软件资深者1 小时前
Coze自动化工作流+Agent智能体实战教程(0基础入门,附多场景实操)
运维·人工智能·ai·自动化·工作流·扣子·课程
爱打代码的小林1 小时前
用 OpenAI API 自动化分类智能手表用户问题示例
运维·自动化·大模型·api·智能手表
九河云1 小时前
教育行业上云实践:从在线课堂到智慧校园的架构升级
大数据·运维·人工智能·安全·架构·数字化转型
如若1231 小时前
WSL2安装Ubuntu完整教程:自定义安装目录到D盘(--location一键搞定)
linux·运维·服务器·pytorch·python·ubuntu·计算机视觉
IOT-Power3 小时前
自动化设备控制系统 / Qt + 嵌入式设备软件
运维·qt·自动化
papaofdoudou3 小时前
QEMU和KVMTOOL在GPA(IOVA)和HVA映射方面的异同
linux·运维·服务器
Xzq2105094 小时前
部分重要协议或技术(DNS,ICMP,NAT,代理服务器)
运维·服务器·网络