#/bin/bash host=$1 port=443 end_date=`openssl s_client -servername $host -host $host -port $port -showcerts </dev/null 2>/dev/null | sed -n '/BEGIN CERTIFICATE/,/END CERT/p' | openssl x509 -text 2>/dev/null | sed -n 's/ *Not After : *//p'` if [ -n "$end_date" ] then end_date_seconds=`date '+%s' --date "$end_date"` # date指令format字符串时间。 now_seconds=`date '+%s'` echo "($end_date_seconds-$now_seconds)/24/3600" | bc fi
把上面的脚本保存到check_ssl.sh文件里,然后执行sh check_ssl.sh www.baidu.com即可检查知道证书的有效期
注意-servername 这个参数,如果没有这个参数,则是检查这个ip的证书