A recent update to Let's Encrypt has caused issues with older versions of Dehydrated (the Let's Encrypt client we use with Confconsole). And soon after, the v1 API was deprecated and only users with existing certificates can access the v1 API endpoint.
So there are a number of issues that have all occurred within a brief period of time. This post has got a bit messy, so I've completely rewritten it [Oct 18th 2019]. And struck most of it out and added a new section [Nov 12th 2019].
Please see the Confconsole v1.1.1 Release notes Confconsole v1.1.2 Release notes for how to update.
Setting up. These instructions should be run in a single shell session. If you run the separate steps at separate times or in separate shells, then you will need to re-run this first setup bit:
# set vars to use
DEHYD_ETC=/etc/dehydrated
SHARE=/usr/share/confconsole/letsencrypt
CONFIG="$DEHYD_ETC/confconsole.config"
GH_URL=https://github.com/turnkeylinux/confconsole/master
GH_HOOK=share/letsencrypt/dehydrated-confconsole.hook.sh
CC_HOOK="$DEHYD_ETC/confconsole.hook.sh"
SH_HOOK=$SHARE/dehydrated-confconsole.hook.sh
Now the actual steps to fix the issues:
- Update Dehydrated:
# add stretch-backports repo and updated dehydrated:
echo "deb http://http.debian.net/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list
apt update
apt install -t stretch-backports dehydrated
- Download the updated TurnKey hook script:
wget $GH_URL/$GH_HOOK -O $SH_HOOK
cp $SH_HOOK $CC_HOOK
- Update the config to use the v2 API end point:
echo 'CA="https://acme-v02.api.letsencrypt.org/directory"' >> $CONFIG
echo 'CA_TERMS="https://acme-v02.api.letsencrypt.org/terms"' >> $CONFIG
- Manually run the new Dehydrated to accept the terms of service for Let's Encrypt:
/usr/bin/dehydrated --register --accept-terms
- Launch Confconsole and attempt to get a new certificate.
If you wish to just run the script directly (rather than via confconsole), this should do the trick:
/usr/lib/confconsole/plugins.d/Lets_Encrypt/dehydrated-wrapper
Hopefully you should now have a working certificate...! 😄 Don't forget to enable auto cert updates (via confconsole - if you haven't already).
Users with multiple domains should also be aware of #1360. It doesn't appear to cause problems when only one domain is used (and I've tested with 2 and it seemed ok). I plan to look into that a bit closer ASAP, but no ETA.
Users who have previously addressed this issue by updating Dehydrated via some other method can leave their system as is if they wish. Or alternatively, they can install the version from the stretch backports repo (as above; they should be roughly the same version). Note that if the package has been held, then the hold will need to be removed first. I.e.:
apt-mark unhold dehydrated
[Previous ramblings removed for clarity]
A recent update to Let's Encrypt has caused issues with older versions of Dehydrated (the Let's Encrypt client we use with Confconsole). And soon after, the v1 API was deprecated and only users with existing certificates can access the v1 API endpoint.
So there are a number of issues that have all occurred within a brief period of time. This post has got a bit messy, so I've completely rewritten it [Oct 18th 2019]. And struck most of it out and added a new section [Nov 12th 2019].
Please see the
Confconsole v1.1.1 Release notesConfconsole v1.1.2 Release notes for how to update.Setting up. These instructions should be run in a single shell session. If you run the separate steps at separate times or in separate shells, then you will need to re-run this first setup bit:Now the actual steps to fix the issues:
If you wish to just run the script directly (rather than via confconsole), this should do the trick:
Hopefully you should now have a working certificate...! 😄 Don't forget to enable auto cert updates (via confconsole - if you haven't already).
Users with multiple domains should also be aware of #1360. It doesn't appear to cause problems when only one domain is used (and I've tested with 2 and it seemed ok). I plan to look into that a bit closer ASAP, but no ETA.
Users who have previously addressed this issue by updating Dehydrated via some other method can leave their system as is if they wish. Or alternatively, they can install the version from the stretch backports repo (as above; they should be roughly the same version). Note that if the package has been held, then the hold will need to be removed first. I.e.:
[Previous ramblings removed for clarity]