首页/系统/Linux 运维命令速查/openssl s_client 检测 TLS
网络命令82 条

openssl s_client 检测 TLS

直连 TLS 握手看证书链、协议版本与到期时间:配合 -servername(SNI)与 x509 解析,证书问题一眼定位。

Linux 运维命令速查系统更新于 2026-10-12
用途TLS 握手 / 证书链检查
语法openssl s_client -connect 主机:443 -servername 域名
常用-showcerts 全链 -brief 摘要 -verify 验签结果

常用示例

常用示例
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -subject -issuer -dates
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -checkend 2592000   # 30 天内是否到期
echo | openssl s_client -connect 10.0.0.5:443 -servername app.internal 2>&1 | grep -E 'Verify|Protocol|Cipher'
不带 -servername 时服务器可能返回默认证书:多域名站点检测证书必须显式 SNI。

易错点

  • s_client 会保持连接等输入:用 echo | 或 </dev/null 让它立即结束,否则挂住
  • 验证链用 -verify_return_error/-verify_hostname;只看到证书内容不代表链完整

数据来源与参考

  • man 1 openssl-s_client(OpenSSL 官方手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌