Linux怎么查看SSL证书到期时间

小强姑娘_2848

小强姑娘_2848

2026-08-31

497人浏览

原创

直接查看证书过期时间需区分本地文件与线上服务:本地用openssl x509 -in cert.pem -noout -enddate,要求文件仅含一段pem证书;线上用echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate,确保sni和协议匹配。

linux怎么查看ssl证书到期时间

能直接看,但必须分清是查本地文件还是线上服务——搞混了就报错或看到过期信息。

查本地 PEM/CRT 证书文件的到期时间

你手头有 cert.pemfullchain.pemserver.crt 这类文件,想确认它本身是否快过期?用 openssl x509 直接读就行,前提是文件干净。

  • 只含一段证书:开头是 -----BEGIN CERTIFICATE-----,结尾是 -----END CERTIFICATE-----,中间不能夹私钥或其它证书
  • 命令:openssl x509 -in cert.pem -noout -enddate,输出类似 notAfter=Mar 15 12:34:56 2025 GMT
  • 如果报 unable to load certificate,八成是文件混了内容;可用 awk '/^-----BEGIN CERTIFICATE-----$/,/^-----END CERTIFICATE-----$/' cert.pem 抽出第一段再试
  • 想同时看生效和过期:openssl x509 -in cert.pem -noout -dates

查正在运行的 HTTPS 服务真实证书

本地文件可能已更新,但 Nginx/Apache 没 reload,或者配置指向了旧路径。此时必须从网络层真实握手一次,拿到服务端此刻实际返回的证书链。

Linux Journey
Linux Journey

当用户想学习Linux基础、命令行、文件系统等时,在LabEx查找并推荐免费的Linux Journey课程。

下载
  • 基础命令:echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate
  • 必须加 -servername example.com(启用 SNI),否则多域名服务器可能返回默认证书
  • 若连接失败报 ssl handshake failure,不是证书问题,而是协议不匹配:加 -tls1_3-tls1_2 强制版本
  • 若服务用了私有 CA 或自签名证书,s_client 会报验证失败,但只要加了 -noout 就不影响提取 -enddate

计算剩余天数并预警(运维常用)

光看日期不够直观,生产环境需要知道“还剩几天”,且要规避系统 locale 差异导致的 date -d 解析失败。

  • 推荐用 OpenSSL 自带的 -checkend:比如检查 30 天内是否过期,openssl x509 -checkend 2592000 -noout -in cert.pem(2592000 = 30 × 24 × 3600)
  • 返回值为 0 表示有效,非 0 表示即将过期;脚本里可直接用 if ! openssl x509 -checkend ... 判断
  • 避免依赖 date -d "Mar 15 12:34:56 2025 GMT":不同发行版对月份缩写解析不一致(如 CentOS vs Ubuntu),容易在自动化中静默失败
  • 批量检查目录下所有证书:find /etc/letsencrypt/live -name "fullchain.pem" -exec openssl x509 -noout -enddate -in {} \; 2>/dev/null

常见错误和绕过点

很多报错不是命令写错,而是环境或证书结构没理清。

  • Connection refused:端口不通,先 telnet example.com 443 确认连得上
  • verify error:num=20:unable to get local issuer certificate:证书链不全,但不影响 -noout -enddate 提取
  • fullchain.pem 直接查会失败:它包含站点证书 + 中间证书,openssl x509 只认单段;应拆出第一段或改用 server.crt
  • Let’s Encrypt 的 live/domain/cert.pem 是软链,指向 archive/ 下某次签发的证书,记得确认软链目标是否最新

真正麻烦的不是命令记不住,而是证书文件里藏了私钥、中间证书混在一块、或者线上服务用的是另一份没同步的证书——这些细节不手动验证一遍,光跑命令只会给你一个“看起来正常”的假象。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
SSL检测工具介绍
SSL检测工具介绍

SSL检测工具有SSL Labs、SSL Check、SSL Server Test、SSLMate、SSL/TLS Analyzer等。详细介绍:1、SSL Labs是一个由Qualys提供的在线SSL检测工具,可以评估服务器证书的部署情况、加密套件、协议支持等方面的安全性,它提供了一个详细的报告,包括证书的颁发者、有效期、安全性配置等;2、SSL Check等等。

2023.10.20

670

3

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3570

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3113

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2153

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5130

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

4802

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

2893

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2405

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2619

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习