Посмотреть срок действия TLS-сертификата

Когда истекает сертификат живого хоста и локального файла — и как проверить это в скрипте одним кодом возврата

echo | openssl s_client -servername khorost.tech -connect khorost.tech:443 2>/dev/null \
  | openssl x509 -noout -dates -subject -issuer
openssl x509 -in cert.pem -noout -dates -subject -issuer
echo | openssl s_client -servername khorost.tech -connect khorost.tech:443 2>/dev/null \
  | openssl x509 -noout -checkend 2592000

-servername обязателен: без него на хостинге с несколькими сайтами на одном адресе вернётся сертификат по умолчанию, а не тот, что вы проверяете. Это самая частая причина «проверил не то».

-checkend N ничего не печатает, а отдаёт код возврата: 0 — сертификат переживёт ближайшие N секунд, 1 — нет. Это то, что нужно в мониторинге: if ! openssl … -checkend 2592000; then alert; fi.