Certbot 无法找到环境变量凭据

Certbot unable to locate environment variable credentials

我在 AWS EC2 实例 运行ning Apache 上有一个 Ubuntu 20.04 服务器,我正在尝试使用 certbot 获取证书,但是我在使用凭据时遇到了问题。下面是命令我运行,后面是错误输出:

user@address:~$ sudo certbot certonly --dns-route53 --dns-route53-propagation-seconds 30 -d mydomain.com -d *.mydomain.com -i apache

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator dns-route53, Installer apache
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for mydomain.com
dns-01 challenge for mydomain.com
Cleaning up challenges
Unable to locate credentials
To use certbot-dns-route53, configure credentials as described at https://boto3.readthedocs.io/en/latest/guide/configuration.html#best-practices-for-configuring-credentials and add the necessary permissions for Route53 access.

我遵循了以下指南:

  1. https://certbot.eff.org/lets-encrypt/ubuntufocal-apache.html(通配符选项卡,直到第 6 步)
  2. https://certbot-dns-route53.readthedocs.io/en/stable/(创建了 IAM 策略并将其应用于新用户)

并选择使用环境变量设置凭据:

$ export AWS_ACCESS_KEY_ID=<id>
$ export AWS_SECRET_ACCESS_KEY=<secret>

当我使用 $ printenv AWS_ACCESS_KEY_ID$ printenv AWS_SECRET_ACCESS_KEY 时,屏幕上显示了凭据,所以我不明白为什么 certbot 无法找到它们。

有什么想法吗?

通过运行将 certbot 命令设为 sudo,不再设置环境变量。

要么连接到 sudo su,然后导出变量和 运行,要么查看使用凭证文件以允许命令访问 IAM 密钥和 IAM 机密。

更多信息可用here