📜  手动使用 Certbot 获取 SSL 证书

📅  最后修改于: 2022-05-13 01:54:45.652000             🧑  作者: Mango

手动使用 Certbot 获取 SSL 证书

Let's Encrypt 已成为创建安全互联网的最重要组织之一。 Let's Encrypt 是一个免费、自动化和开放的证书颁发机构 (CA),为公众利益而运行,是由 Internet 安全研究小组 (ISRG) 提供的一项服务。他们为人们提供他们需要的数字证书,以便免费为网站启用 HTTPS (SSL/TLS)。它得到了 EFF、ISRG、Linux 基金会、谷歌、Facebook 等公司的支持。 2020 年 2 月,他们颁发了我们的第 10 亿张证书

Let's Encrypt 背后的关键原则是(在他们的网站上):

  • 免费:任何拥有域名的人都可以使用 Let's Encrypt 以零成本获取有效期为 9 天的可信证书。
  • 自动:在 Web 服务器上运行的软件可以与 Let's Encrypt 交互以轻松获取证书,安全地配置它以供使用,并自动处理更新,通常称为 certbot。
  • 安全: Let's Encrypt 将作为推进 TLS 安全最佳实践的平台,无论是在 CA 方面,还是通过帮助站点运算符正确保护他们的服务器。
  • 透明:所有颁发或撤销的证书都将公开记录并可供任何人检查。
  • 开源:自动发行和更新协议将作为其他人可以采用的开放标准发布。

Certbot 是一种免费的开源软件工具,用于在手动管理的网站上自动使用 Let's Encrypt 证书以启用 HTTPS。它主要由电子前沿基金会 (EFF) 在Python上构建。几乎许多共享和一些云托管提供商在网站托管面板中集成了 certbot 或等效插件,允许您使用某些按钮获取、更新和管理 SSL/TLS 证书。

在本文中,我们将学习如何手动使用 certbot 获取 SSL 证书,这可以帮助您了解 certbot 的工作原理,本教程将使用 Ubuntu(您可以使用任何类似 UNIX 的操作系统)。

要求:

  • Certbot 旨在直接在 Web 服务器上运行。您可以在本教程中使用您的 PC
  • 确保你已经安装了Python ,这使得安装速度更快
  • 最好有root权限

对于 Ubuntu 或 Debian 系统,您可以使用 APT 安装 certbot

sudo apt-get install certbot

安装后键入这个长命令

进入命令

  • certbot: certbot 程序
  • certonly:运行 certbot 一次,certbot-auto 自动运行 certbot
  • 手动:在手动模式下运行 certbot
  • d:要包含在证书中的域,使用您的域及其通配符而不是 exampledomain.com
  • 同意:同意 letencrypt 和 eff 的服务条款
  • manual-public-ip-logging-ok:出于安全目的记录您正在使用的系统的 IP
  • 优选挑战:用于验证域所有权的方式,我们使用了 DNS 挑战
  • 服务器: letsencrypt ACME 服务器
  • register-unsafely-without-email:无需注册即可获取证书,无需电子邮件,但在生产中使用电子邮件接收有关获取、更新和撤销证书的信息
  • rsa-key-size: RSA 密钥大小的长度

这时候你可以看到类似下图的东西

拿到证书

现在登录您的 DNS 管理器并使用 acme-challenge 添加 TXT 记录,不要更改 acme-challenge

文字记录

验证完成后,certbot 将为您的域获取 SSL 证书。您可以在 /etc/letsencrypt/live/exampledomain.com/ 文件夹中找到 SSL 证书

安全证书