Skip to main content

Certbot-ssh - Certbot SSH authenticator plugin

Certbot-ssh is a plugin for the Certbot ACME client that performs HTTP01 challenge validation on a remote computer through a SSH connection.

Rationale

The Certbot client assumes it runs on the machine that serves web pages for the requested domain.

That is not always desirable or even possible.

The manual authenticator (--manual) allows to run the client on a separate machine; it is then up to the system administrator to make sure the web server responds appropriately to the HTTP01 challenge, by putting a specific value into a specific file under the .well-known/acme-challenge directory of the web server. This can be quite tedious, especially if you require a cert for many domains.

This plugin provides an automatized version of the “manual” process. Upon receiving the challenge data from the ACME server, it will execute a script on a remote machine through a SSH connexion, and feed it with the challenge data. It is then up to the script to write the challenge tokens at the appropriate place.

A sample script is provided. This script assumes the webroot of a requested domain is under a /var/www/domain directory; you will probably need to adjust it according to the layout of your own web server.

Usage

Install the package:

$ python setup.py install --user

Tweak the acme-challenge.sh script if needed, then upload it to your server. Put it somewhere in the PATH of the user account you use for SSH connection. Remove the .sh extension and make sure the script is executable.

Then you may call Certbot:

certbot certonly \
  --authenticator incenp.certbot.ssh:ssh \
  --incenp.certbot.ssh:ssh-server user@server.example.com \
  ...

Note that the client will attempt to write to some system directories on the local machine (/etc/letsencrypt, /var/lib/letsencrypt). Use the --config-dir, --work-dir, and --logs-dir options to specify other directories if you want to run the client from a non-root account.

Copying

Certbot-ssh is distributed under the same terms as Certbot itself, that is, the Apache License version 2.0. The full license is included in the LICENSE file of the source distribution.

Homepage and repository

The project is located at https://incenp.org/dvlpt/certbot-ssh.html. The latest source code is available at https://git.incenp.org/damien/certbot-ssh.

Metadata

Release files for incenp.certbot.ssh 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for incenp.certbot.ssh 0.2.3
File Size Uploaded Provenance Actions
incenp.certbot.ssh-0.2.3.tar.gz 8.0 kB Without provenance Details for incenp.certbot.ssh-0.2.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for incenp.certbot.ssh 0.2.3
File Interpreter ABI Platform Actions
incenp.certbot.ssh-0.2.3-py3-none-any.whl Python 3 none any Details for incenp.certbot.ssh-0.2.3-py3-none-any.whl

Total release size: 17.5 kB

Release files / incenp.certbot.ssh-0.2.3.tar.gz

Download URL incenp.certbot.ssh-0.2.3.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
39cf1f86fe102214c63930b4af718bb0b06d021108d6a7f6fc6b8b3a578c44c2
BLAKE2b-256 checksum
How to use checksums
d039cf37a0fe95e97d9e1988184072be72b9f84707e2889790ed9fff1c99c0f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Release files / incenp.certbot.ssh-0.2.3-py3-none-any.whl

Download URL incenp.certbot.ssh-0.2.3-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb4cf75a54b311f56618803e02eef3b388d59bf7e7e95502665d9296f6edd40f
BLAKE2b-256 checksum
How to use checksums
e263a65a984034915dd869b646a59c7a4263ad98b40d09b3e860a94a8dbf878a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

Security for incenp.certbot.ssh 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page