让 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/
相关推荐
xuefeiniao2 小时前
PHP2Shell漏洞修复
运维·服务器·php
便利店10243 小时前
系统活动一抓留存!深入 Linux C/C++ 调试工具之 sysdig
linux·运维·服务器·sysdig
智能运维指南4 小时前
企业 IT 运维自动化平台怎么选?从场景匹配到 POC 验证的完整评估框架
运维·自动化·自动化运维·嘉为蓝鲸
toooooop84 小时前
CentOS 7 内核 3.10.0-1160.119.1 升级指南
linux·运维·centos
云飞云共享云桌面5 小时前
广东东莞制造工厂10人共享一台三维设计服务器
运维·服务器·3d·自动化·制造
kkkkkkkkkk_Z5 小时前
新手自学嵌入式 | 学习日记:Linux驱动复习之系统移植(U-Boot篇)
linux·运维·学习
hz567896 小时前
企业视频会议系统方案:总部与分支机构高效协同如何落地?
运维·服务器·网络·安全·实时音视频·信息与通信
sun153690275726 小时前
露天矿边坡滑坡怎么预警?QY-19GNSS 自动化地表位移监测系统介绍
运维·安全·自动化
云计算练习生7 小时前
什么是文件权限?Linux 中 rwx 与数字权限的对应关系
linux·运维·服务器·操作系统·文件权限管理