Manual renewal fails with Errno 17 File Exists

My domain is: monkeypower.co.uk

I ran this command: certbot certonly -d monkeypower.co.uk,noa.monkeypower.co.uk,hudson.monkeypower.co.uk --manual --preferred-challenges dns

It produced this output: Saving debug log to /var/log/letsencrypt/letsencrypt.log Renewing an existing certificate for monkeypower.co.uk and 2 more domains An unexpected error occurred: FileExistsError: [Errno 17] File exists: '/etc/letsencrypt/archive/monkeypower.co.uk/privkey3.pem' Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

My web server is (include version): Nginx 1.20.2

The operating system my web server runs on is (include version): Linux (Arch) 5.15.7

My hosting provider, if applicable, is: n/a

I can login to a root shell on my machine (yes or no, or I don't know): yes

I'm using a control panel to manage my site (no, or provide the name and version of the control panel): no

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot): 1.21.0

I try and renew manually because my domain is only visible on my local network. I have renewed the certs succesfully several times and I do not believe I have altered the file system at all, although, with the last renewal being 3 months ago I can't swear to it.

Thanks in advance for any help.

2 Likes

What's the output of:

sudo ls -la /etc/letsencrypt/archive/monkeypower.co.uk/
4 Likes
total 236
drwxr-xr-x 2 root root 4096 May  7  2021 .
drwx------ 5 root root 4096 Sep 24 19:16 ..
-rw-r--r-- 1 root root 1984 May 15  2020 cert10.pem
-rw-r--r-- 1 root root 1984 Aug 13  2020 cert11.pem
-rw-r--r-- 1 root root 1984 Nov 11  2020 cert12.pem
-rw-r--r-- 1 root root 1915 Feb 10  2021 cert13.pem
-rw-r--r-- 1 root root 1915 May  7  2021 cert14.pem
-rw-r--r-- 1 root root 2159 Aug  4  2018 cert1.pem
-rw-r--r-- 1 root root 2228 Aug  5  2018 cert2.pem
-rw-r--r-- 1 root root 2224 Nov  7  2018 cert3.pem
-rw-r--r-- 1 root root 1984 Jan 16  2019 cert4.pem
-rw-r--r-- 1 root root 1980 Apr  8  2019 cert5.pem
-rw-r--r-- 1 root root 1980 Jun 29  2019 cert6.pem
-rw-r--r-- 1 root root 1980 Sep 19  2019 cert7.pem
-rw-r--r-- 1 root root 1984 Dec  1  2019 cert8.pem
-rw-r--r-- 1 root root 1980 Feb 15  2020 cert9.pem
-rw-r--r-- 1 root root 1647 May 15  2020 chain10.pem
-rw-r--r-- 1 root root 1647 Aug 13  2020 chain11.pem
-rw-r--r-- 1 root root 1647 Nov 11  2020 chain12.pem
-rw-r--r-- 1 root root 1586 Feb 10  2021 chain13.pem
-rw-r--r-- 1 root root 3749 May  7  2021 chain14.pem
-rw-r--r-- 1 root root 1647 Aug  4  2018 chain1.pem
-rw-r--r-- 1 root root 1647 Aug  5  2018 chain2.pem
-rw-r--r-- 1 root root 1647 Nov  7  2018 chain3.pem
-rw-r--r-- 1 root root 1647 Jan 16  2019 chain4.pem
-rw-r--r-- 1 root root 1647 Apr  8  2019 chain5.pem
-rw-r--r-- 1 root root 1647 Jun 29  2019 chain6.pem
-rw-r--r-- 1 root root 1647 Sep 19  2019 chain7.pem
-rw-r--r-- 1 root root 1647 Dec  1  2019 chain8.pem
-rw-r--r-- 1 root root 1647 Feb 15  2020 chain9.pem
-rw-r--r-- 1 root root 3631 May 15  2020 fullchain10.pem
-rw-r--r-- 1 root root 3631 Aug 13  2020 fullchain11.pem
-rw-r--r-- 1 root root 3631 Nov 11  2020 fullchain12.pem
-rw-r--r-- 1 root root 3501 Feb 10  2021 fullchain13.pem
-rw-r--r-- 1 root root 5664 May  7  2021 fullchain14.pem
-rw-r--r-- 1 root root 3806 Aug  4  2018 fullchain1.pem
-rw-r--r-- 1 root root 3875 Aug  5  2018 fullchain2.pem
-rw-r--r-- 1 root root 3871 Nov  7  2018 fullchain3.pem
-rw-r--r-- 1 root root 3631 Jan 16  2019 fullchain4.pem
-rw-r--r-- 1 root root 3627 Apr  8  2019 fullchain5.pem
-rw-r--r-- 1 root root 3627 Jun 29  2019 fullchain6.pem
-rw-r--r-- 1 root root 3627 Sep 19  2019 fullchain7.pem
-rw-r--r-- 1 root root 3631 Dec  1  2019 fullchain8.pem
-rw-r--r-- 1 root root 3627 Feb 15  2020 fullchain9.pem
-rw-r--r-- 1 root root 1704 May 15  2020 privkey10.pem
-rw-r--r-- 1 root root 1704 Aug 13  2020 privkey11.pem
-rw-r--r-- 1 root root 1704 Nov 11  2020 privkey12.pem
-rw-r--r-- 1 root root 1704 Feb 10  2021 privkey13.pem
-rw-r--r-- 1 root root 1704 May  7  2021 privkey14.pem
-rw-r--r-- 1 root root 1704 Aug  4  2018 privkey1.pem
-rw-r--r-- 1 root root 1704 Aug  5  2018 privkey2.pem
-rw-r--r-- 1 root root 1704 Nov  7  2018 privkey3.pem
-rw-r--r-- 1 root root 1704 Jan 16  2019 privkey4.pem
-rw-r--r-- 1 root root 1704 Apr  8  2019 privkey5.pem
-rw-r--r-- 1 root root 1704 Jun 29  2019 privkey6.pem
-rw-r--r-- 1 root root 1704 Sep 19  2019 privkey7.pem
-rw-r--r-- 1 root root 1704 Dec  1  2019 privkey8.pem
-rw-r--r-- 1 root root 1704 Feb 15  2020 privkey9.pem```
1 Like

Welcome to the Let's Encrypt Community, Paul :slightly_smiling_face:

What are the outputs of:

sudo ls -la /etc/letsencrypt/live/monkeypower.co.uk/
sudo cat /etc/letsencrypt/renewal/monkeypower.co.uk.conf

I have a feeling that this will need to be run:

sudo certbot update_symlinks
3 Likes

ls -la /etc/letsencrypt/live/monkeypower.co.uk/

drwxr-xr-x 2 root root 4096 Dec 27 18:02 .
drwx------ 5 root root 4096 Sep 24 19:16 ..
lrwxrwxrwx 1 root root   42 Dec 27 18:02 cert.pem -> ../../archive/monkeypower.co.uk/cert14.pem
lrwxrwxrwx 1 root root   43 Dec 27 18:02 chain.pem -> ../../archive/monkeypower.co.uk/chain14.pem
lrwxrwxrwx 1 root root   47 Dec 27 18:02 fullchain.pem -> ../../archive/monkeypower.co.uk/fullchain14.pem
lrwxrwxrwx 1 root root   45 Dec 27 18:02 privkey.pem -> ../../archive/monkeypower.co.uk/privkey14.pem
-rw-r--r-- 1 root root  692 Aug  5 17:29 README

cat /etc/letsencrypt/renewal/monkeypower.co.uk.conf

version = 1.15.0
archive_dir = /etc/letsencrypt/archive/monkeypower.co.uk
cert = /etc/letsencrypt/live/monkeypower.co.uk/cert.pem
privkey = /etc/letsencrypt/live/monkeypower.co.uk/privkey.pem
chain = /etc/letsencrypt/live/monkeypower.co.uk/chain.pem
fullchain = /etc/letsencrypt/live/monkeypower.co.uk/fullchain.pem

# Options used in the renewal process
[renewalparams]
account = 419839e0851366aeac93dbc32c406488
pref_challs = dns-01,
authenticator = manual
server = https://acme-v02.api.letsencrypt.org/directory
1 Like

Hmm... nothing looks out of the ordinary to me.

:thinking:

What are the outputs of:

sudo certbot certificates
sudo certbot certonly --manual --preferred-challenges dns -d "monkeypower.co.uk,noa.monkeypower.co.uk,hudson.monkeypower.co.uk" --dry-run
3 Likes

Puzzling. Would you be able to post the /var/log/letsencrypt/ file which contains that FileExists error?

2 Likes

It seems to be all fixed now. I think it was

that did it - although it didn't seem to at first. A reboot later and it's generating certs again.

Thanks for all the help!

2 Likes

You're quite welcome!

:blush:

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.