#/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的证书