让我们使用优先质询加密手动证书而不是 DNS



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

当我运行以下命令时:

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

我得到以下消息:

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

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

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

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

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

$ /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)

最新更新