目前我每 3 个月手动创建一次 letsencrypt 证书。我有一个网络空间并使用我的服务器来创建证书。然后我下载证书并手动添加。由于我无法自动将证书添加到网络空间,因此我至少希望自动创建证书并为此准备一个 bash 脚本。
因此批处理脚本应该执行以下操作:
cd letsecrypt
./letsencrypt-auto --rsa-key-size 4096 -a manual certonly
- 模拟输入域名(例如
sub.domain.com
) - 模拟按回车键(两次)
- 等到脚本要求再次按“enter”键
- 模拟按下回车键
使用多个域重复 2-6
之后压缩/etc/letsencrypt/live
文件夹并通过邮件发送(但邮件内容也可以省略)
我已经搜索了模拟输入法:https://stackoverflow.com/questions/6264596/simulating-enter-keypress-in-bash-script
但我不知道如何告诉脚本等待,或者如何循环 2-6 多次。
答案1
你知道吗certbot renew
(或certbot-auto renew
)命令,对吗?看来您使用的版本已过时——该命令不再称为letsencrypt
。整个系统从一开始就设计为自动化。
基本上,你想要的是类似这样的东西:
certbot renew --post-hook "/root/mail-cert.sh"
我也发现很难相信你会拥有某种可以运行certbot
但不能安装证书的网络空间。