Certbot: error: unrecognized arguments: --dns-linode-credentials .linode_api/certbot

Please note that I’ve previously been able to use linode’s plugin without difficulty by using the certbot command which, apparently, came with the debian package. I’m attempting to switch to certbot-auto so as to be more up-to-date.

My domain is: *algasol.com among others

~# certbot-auto --dry-run certonly -a dns-linode --dns-linode-credentials .linode_api/certbot -d *.algasol.com etc.

certbot: error: unrecognized arguments: --dns-linode-credentials .linode_api/certbot

~# cat /etc/debian_version
9.12

I can login to a root shell on my machine

I’m not using a control panel to manage letsencrypt but otherwise am using virtualmin.

~# certbot-auto --version
certbot 1.2.0
~# certbot --version
certbot 1.0.0
~# which certbot-auto
/usr/local/bin/certbot-auto
~# which certbot
/usr/local/bin/certbot

1 Like

certbot-auto doesn’t automatically install the DNS plugins, and it doesn’t officially support manually installing plugins.

If you don’t absolutely need a newer version, it’s easier to stick with the Debian packages.

(certbot-auto sets up a Python virtual environment, and erases and recreates it when upgrading itself. So it’s hacky but possible to install other things in it.)

What’s that? How was it installed?

The latest version packaged in Debian Stretch is 0.28.0…

Edit: Debian Stretch doesn’t package the dns-linode plugin. Buster does.

1 Like

OK, so I upgraded to Buster
~# cat /etc/debian_version
10.3

… and apt install certbot python3-certbot-dns-linode and followed these directions up through Test Your Configuration.

The failure is now:

# certbot certonly --dry-run -a dns-linode --dns-linode-credentials .linode_api/certbot -d *.algasol.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator dns-linode, Installer None
Attempting to parse the version 1.0.0 renewal configuration file found at /etc/letsencrypt/renewal/algasol.com-0002.conf with version 0.31.0 of Certbot. This might not work.
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for algasol.com
Cleaning up challenges
Unexpected error determining zone identifier for algasol.com: Linode api error: [{'ERRORMESSAGE': 'Authentication failed', 'ERRORCODE': 4}]

IIRC, the fact that Stretch doesn’t package dns-linode forced me to do a pip install of certbot which ended up as /usr/local/bin/certbot.

So I’ve done a pip uninstall certbot.

(certbot-auto sets up a Python virtual environment, and erases and recreates it when upgrading itself. So it’s hacky but possible to install other things in it.)

How do I set up the virtual environment to install the most recent version of Certbot-Dns-Linode after running certbot-auto?

UPDATE

Do this to escape python2.7 hell and create a virtual environment for python3.

Then, to “activate” the resulting virtual environment execute:

# export PATH=/opt/eff.org/certbot/venv/bin:$PATH

Then:

# pip install certbot-dns-linode

Then:

# certbot certonly --dry-run -a dns-linode --dns-linode-credentials .linode_api/certbot -d *.algasol.com

At least that’s what I’m trying now…

END UPDATE

No one seems to know how to “properly” align all the versions/fixes here.

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