文档中心
CentOS鏌ョ湅SSL璇佷功鍏ㄦ敾鐣ュ懡浠よ瑙d笌瀹炴垬绀轰緥
时间 : 2025-09-27 15:43:00浏览量 : 4

****
SSL证书是网站安全的"身份证",作为运维人员,经常需要在CentOS服务器上检查证书信息。本文将通过5个高频使用场景,手把手教你用命令行工具快速查看SSL证书细节。(文末附排查证书问题的"万能口诀")
一、为什么要查看SSL证书?
当遇到以下情况时就需要检查证书:
- 网站突然报"不安全连接"警告
- 证书到期前需要续签(比如Let's Encrypt每3个月过期)
- 验证CDN或负载均衡器是否正确部署了证书
- 排查HTTPS连接失败的原因
二、基础查看方法(OpenSSL篇)
1. 查看远程网站证书
```bash
openssl s_client -connect example.com:443 -servername example.com | openssl x509 -noout -text
```
输出示例:
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1234567890abcdef (0x1234567890abcdef)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, O=Let's Encrypt, CN=R3
Validity
Not Before: Jan 1 00:00:00 2025 GMT
Not After : Apr 1 23:59:59 2025 GMT
Subject: CN=example.com
参数解析:
- `-servername`:解决SNI(Server Name Indication)问题,对CDN站点必须加
- `| openssl x509`:将原始证书转成可读格式
2. 检查本地证书文件(适用于Nginx/Apache)
openssl x509 -in /etc/nginx/ssl/cert.pem -noout -text
常见文件格式:
- `.pem` Base64编码文本文件(Apache常用)
- `.crt` DER二进制格式(Windows系统常见)
- `.pfx/.p12` 包含私钥的打包文件
三、进阶排查技巧
??场景1:快速验证有效期
openssl x509 -in cert.pem -noout -dates
输出样例:
notBefore=Jan 1 00:00:00 2025 GMT
notAfter=Apr 1 23:59:59 2025 GMT
??场景2:检查证书链完整性(中级CA证书是否缺失)
```bash
openssl s_client -connect example.com:443 -showcerts
正常应该看到2-3段`--BEGIN CERTIFICATE--`,如果只有1段说明链不完整。
??场景3:匹配私钥与证书(避免配置错误)
提取公钥指纹对比
openssl x509 -in cert.pem -noout -pubkey | openssl md5
openssl rsa -in key.pem -pubout | openssl md5
?两个MD5值必须相同!
四、图形化工具辅助
如果觉得命令行太抽象,可以:
1. 浏览器检查法:
Chrome访问网站 → F12 → Security → View Certificate

2. 在线检测工具:
[SSL Labs测试](https://www.ssllabs.com/ssltest/)可全面分析证书链、协议支持等情况
五、运维必备的6个诊断口诀
1. 过期报警看日期 → `openssl x509 ... -dates`
2. 域名不匹配查SAN → `openssl x509 ... | grep DNS`
3. 链不完整补中间CA → `curl --capath /etc/ssl/certs`
4. 私钥配对验指纹 → MD5对比法上文已给出
5. 协议版本要现代 → TLSv1.2起,禁用SSLv3
6. OCSP装订加速验签 → Nginx配置`ssl_stapling on`
表格:常用命令速查
| 需求场景 | 对应命令 |
|--|--|
| 查看远程站点完整信息 | `openssl s_client -connect domain:443 \| openssl x509 -text` |
|仅检查有效期 | `openssl x509 -in cert.pem -noout -dates` |
|验证私钥匹配 | `对比两个MD5值的方法见第三节场景3` |
|测试HTTPS连接 | `curl https://domain.com \| telnet domain.com
443 \| nc domain.com
443` |
掌握这些方法后,90%的SSL/TLS相关问题都能自主排查。建议收藏本文命令,遇到问题时对照使用!
TAG:centos查看ssl证书,centos安装ssl证书,centos查看ssh版本,linux服务器查看ssl证书命令,centos ssl证书,linux查看ssl证书

