让我们通过 DNS 的首选挑战来加密手动证书
Let's Encrypt manual certificate with preferred-challenge over DNS
我正在尝试为无法直接访问(除了上传 SSL 证书)的机器生成 letsencrypt 证书。我下载了最新的 CLI (certbot) 并发现了一个标志 --preferred-challenge
,它似乎允许 DNS 主机验证而不是标准的 HTTP 验证。
当我运行以下内容时:
./certbot-auto certonly --manual --preferred-challenge dns --domains domain_to_secure.com
我收到以下消息:
Self verification requires optional dependency dnspython
to be installed.
在网上很容易找到 dnspython 包,但如何让 certbot 将其识别为插件包?
随着 certbot-auto
运行并完成所有初始设置,您会在系统包安装后看到几行,例如:
Creating virtual environment...
Installing Python packages...
这是你的提示。 certbot-auto 是一个有礼貌的 Python 公民,使用 virtualenv。发现它可能很尴尬,但位置看起来相当标准。 运行 以 root 身份发布 v0.9.3,virtualenv 用于 Arch、Centos7 和 Ubuntu 16.04:/root/.local/share/letsencrypt/
。现在我们知道了,我们可以使用 virtualenv 的 pip
来安装依赖项。
$ /root/.local/share/letsencrypt/bin/pip install dnspython
奖金如果你真的想确认,模仿 certbot 的 code:
$ /root/.local/share/letsencrypt/bin/python
>>> from acme import util
>>> import acme.dns_resolver
>>> util.activate(acme.dns_resolver.DNS_REQUIREMENT)
我正在尝试为无法直接访问(除了上传 SSL 证书)的机器生成 letsencrypt 证书。我下载了最新的 CLI (certbot) 并发现了一个标志 --preferred-challenge
,它似乎允许 DNS 主机验证而不是标准的 HTTP 验证。
当我运行以下内容时:
./certbot-auto certonly --manual --preferred-challenge dns --domains domain_to_secure.com
我收到以下消息:
Self verification requires optional dependency
dnspython
to be installed.
在网上很容易找到 dnspython 包,但如何让 certbot 将其识别为插件包?
随着 certbot-auto
运行并完成所有初始设置,您会在系统包安装后看到几行,例如:
Creating virtual environment...
Installing Python packages...
这是你的提示。 certbot-auto 是一个有礼貌的 Python 公民,使用 virtualenv。发现它可能很尴尬,但位置看起来相当标准。 运行 以 root 身份发布 v0.9.3,virtualenv 用于 Arch、Centos7 和 Ubuntu 16.04:/root/.local/share/letsencrypt/
。现在我们知道了,我们可以使用 virtualenv 的 pip
来安装依赖项。
$ /root/.local/share/letsencrypt/bin/pip install dnspython
奖金如果你真的想确认,模仿 certbot 的 code:
$ /root/.local/share/letsencrypt/bin/python
>>> from acme import util
>>> import acme.dns_resolver
>>> util.activate(acme.dns_resolver.DNS_REQUIREMENT)