让 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/
相关推荐
学习路上_write1 小时前
Linux黑马命令学习
linux·运维·服务器
Android系统攻城狮1 小时前
Linux Gstreamer深度解析之gst_audio_channel_reorder_map调用流程与实战(十八)
linux·运维·服务器·音视频进阶·gstreamer音视频进阶
新时代牛马2 小时前
docker run 起不来?从dockerd、containerd 到runc 一条线讲透
运维·docker·容器
TomEval2 小时前
【App 自动化】14 - App 自动化基础与环境
运维·自动化
新时代牛马2 小时前
Linux 防火墙:nftables 与iptables 兼容层
linux·运维·服务器
xhbh6662 小时前
中小企业 Redis 运维,如何安全归档 RDB、AOF 备份文件?
运维·数据库·缓存·数据备份·文件备份·同步备份·号码备份
是逍遥子没错2 小时前
一个斜杠,击穿整座网关:API网关路径前缀绕过认证实战
运维·服务器·web安全·网络安全·渗透测试·系统安全
其实防守也摸鱼3 小时前
每天一个知识点——RCE漏洞
运维·服务器·数据库·windows·安全·github·漏洞
努力努力再努力wz3 小时前
【Docker 入门系列】:从 Namespace、CGroup 到 LXC:理解容器运行时、rootfs 与 LXC 实战
运维·docker·容器
JavaPub-rodert4 小时前
Docker 多阶段构建:为什么生产环境镜像可以小 90%
运维·docker·容器