SSL CERTIFICATE_VERIFY_FAILED в aws cli

Я устанавливаю AWS CLI на Windows Server 2007 32bit.

aws --version
aws-cli/1.8.8 Python/2.7.9 Windows/2008Server 

Я настраиваю aws cli, используя ключи

Как только я запустил команду bellow для тестирования AWS S3, это дало ошибку SSL, как показано ниже.

aws s3 ls
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)

пожалуйста, помогите избавиться от этой основной ошибки

Ответ 1

используйте эту опцию с помощью вашего cmd "--no-verify-ssl"

Ответ 2

Не уверен, что это связано с проблемой OP, однако у одного из наших разработчиков была эта проблема сегодня утром, оказалось, что он использовал Fiddler (в Windows) для отладки других проблем. После остановки Fiddler (который перехватывал https-трафик) проблема была решена.

Ответ 3

У меня была такая же проблема в Windows 10. Это происходит из-за того, что aws cli не читает настройки интернет-прокси из реестра Windows. Исправлена такая же ошибка, устанавливая переменные среды HTTP_PROXY и HTTPS_PROXY в корпоративный интернет-прокси. Надеюсь, это поможет кому-то!

Ответ 4

Мой был решен с:

pip install awscli --force-reinstall --upgrade

Ответ 5

Я столкнулся с подобной проблемой на Mac OSX в корпоративной/корпоративной сети. Если вы не знаете URL-адрес прокси-сервера, получите его у сетевого администратора вашей компании и настройте его с помощью следующих команд.

Linux, macOS или Unix

$ export HTTP_PROXY=http://proxy.example.com:1234
$ export HTTPS_PROXY=https://proxy.example.com:1234

Windows

$ set HTTP_PROXY=http://proxy.example.com:1234
$ set HTTPS_PROXY=https://proxy.example.com:1234

Дополнительная информация

Ответ 6

используйте следующую опцию, чтобы преодолеть проблему сертификации ssl.

aws s3 ls --no-verify-ssl

Ответ 7

Если вы хотите использовать SSL и не должны указывать опцию --no-verify -ssl, то вам нужно установить переменную среды AWS_CA_BUNDLE. например, из PowerShell:

setx AWS_CA_BUNDLE "C:\Users\UserX\Documents\RootCert.pem"

Файл PEM является сохраненной копией корневого сертификата для конечной точки AWS, к которой вы пытаетесь подключиться. Чтобы сгенерировать его, сначала экспортируйте сертификат в формате DER (подробности о том, как это сделать, см. Здесь). Затем выполните следующую команду для преобразования в формат PEM:

openssl x509 -inform der -in "C:\Users\UserX\Documents\RootCert.der" -out RootCert.pem

Если вы используете Powershell, а не bash, вам сначала нужно будет установить openssl.

Полный список переменных среды, поддерживаемых CLI AWS, см. Здесь

Ответ 8

У меня есть решение для этого.

Не устанавливайте boto3, используя pip/pip3.

Используйте следующие шаги:

$ git clone https://github.com/boto/boto3.git
$ cd boto3
$ virtualenv venv
...
$ . venv/bin/activate
$ pip install -r requirements.txt
$ pip install -e .

Это сработало для меня. Первоначально я столкнулся с той же проблемой исключения из проверки SSL. Затем я удалил boto3 (pip3 uninstall boto3) и переустановил его, используя virtualenv, как указано выше. Теперь все работает нормально.