1

我正在尝试为我无法直接访问的机器生成一个letsencrypt证书(除了上传SSL证书)。我已经下载了最新的 CLI (certbot) 并发现了一个--preferred-challenge似乎允许 DNS 主机验证而不是标准 HTTP 验证的标志。

当我运行以下命令时:

./certbot-auto certonly --manual --preferred-challenge dns --domains domain_to_secure.com

我收到以下消息:

自我验证需要dnspython安装可选的依赖项。

在网上找到 dnspython 包很容易,但是如何让 certbot 将其识别为插件包?

4

1 回答 1

1

certbot-auto运行并完成所有初始设置时,您会在系统包安装后看到几行,例如:

Creating virtual environment...
Installing Python packages...

那是你的暗示。certbot-auto 是一个礼貌的 Python 公民并使用virtualenv。找到它可能很尴尬,但位置看起来相当标准。在 v0.9.3 版本中以 root 身份运行,virtualenv 适用于 Arch、Centos7 和 Ubuntu 16.04 /root/.local/share/letsencrypt/:。现在我们知道了,我们可以使用 virtualenvpip来安装依赖项。

$ /root/.local/share/letsencrypt/bin/pip install dnspython


如果您真的想确认,请模仿 certbot 的代码

$ /root/.local/share/letsencrypt/bin/python
>>> from acme import util
>>> import acme.dns_resolver
>>> util.activate(acme.dns_resolver.DNS_REQUIREMENT)
于 2016-10-22T03:04:54.383 回答