我写了一个小脚本来监视TLS证书的到期时间。
以下是我在终端中运行/etc/update-motd.d/05-ssl
时的输出。脚本的权限为633 root
TLS certs Valid until
● facebook.com Thu Jun 06 2019
● google.com Tue Jun 18 2019
但是,当我通过ssh登录时,我的MOTD仅显示
TLS certs Valid until
我怀疑这与我在打印输出时在最后一行中所做的配管有关。
#!/bin/bash
ssl_domains="facebook.com google.com"
currentTime=$(date +%s)
output="TLS certs| Valid until"
for domain in $ssl_domains; do
certTime=$(openssl s_client -servername ${domain} -connect ${domain}:443 < /dev/null 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
certLineTime=$(date -d "${certTime}" +"%a %b %d %Y")
certTimestamp=$(date -d "${certTime}" +%s)
if [ "${certTimestamp}" -ge "${currentTime}" ]; then
sign="\e[36m●\e[0m"
else
sign="\e[1;33m▲\e[0m"
fi
output+="\n$sign $domain| $certLineTime"
done
echo -e "$output" | column -t -s '|'
答案 0 :(得分:-1)
尝试添加
export LANG='en_US.UTF-8'
位于脚本顶部。