AWS CLI: SSL Validation Failed — [РЕШЕНО]

После выполнения какой-либо команды в AWS CLI, например aws s3 ls, вы можете получить такую ошибку:

SSL validation failed for <endpoint_url> [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

В качестве быстрого обхода этой ошибки в AWS CLI можно воспользоваться опцией --no-verify-ssl:

$ aws s3 ls --no-verify-ssl

Но поскольку это не безопасно, использование этой опции вызовет следующее предупреждение:

InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

Дельный Совет: Экспорт SSL-сертификата сайта! Читать далее →

AWS CLI: SSL Validation Failed

Для использования AWS CLI с проверкой HTTPS-сертификатов необходимо указать путь к CA bundle (цепочке сертификатов, состоящей из корневого и промежуточного сертификата соответствующего центра сертификации).

Это можно сделать, задав переменную окружения AWS_CA_BUNDLE:

Linux:
$ export AWS_CA_BUNDLE="/data/ca-certs/ca-bundle.pem"

Windows:
PS C:\> setx AWS_CA_BUNDLE C:\data\ca-certs\ca-bundle.pem

Либо используя опцию --ca-bundle из командной строки:

$ aws s3 ls --ca-bundle "/data/ca-certs/ca-bundle.pem"

Либо задав ca_bundle в конфигурационном файле AWC CLI:

$ nano ~/aws/.config
$ cat ~/aws/.config
[default]
ca_bundle = /data/ca-certs/ca-bundle.pem