我有几个SSL证书,并且证书过期后想通知我。
我的想法是创建一个cronjob,每天执行一个简单的命令。
我知道openssl
Linux中的命令可用于显示远程服务器的证书信息,即:
openssl s_client -connect www.google.com:443
但我在此输出中看不到到期日期。另外,我必须用CTRL+终止此命令c。
如何从脚本(最好使用openssl
)检查远程证书的到期时间,并在“批处理模式”下进行操作,以使其自动运行而无需用户交互?
您的命令现在将期望一个http请求GET index.php
,例如。改用这个:
if true | openssl s_client -connect www.google.com:443 2>/dev/null | \
openssl x509 -noout -checkend 0; then
echo "Certificate is not expired"
else
echo "Certificate is expired"
fi
true
:只会在eof之后没有任何输入,因此openssl在连接后退出。
openssl ...
:来自您问题的命令2>/dev/null
:错误输出将被忽略。openssl x509
:激活X.509证书数据管理。
-noout
:禁止整个证书输出-checkend 0
:检查证书在接下来的0秒内是否过期本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句