web-dev-qa-db-ja.com

AWS CLIでSSL CERTIFICATE_VERIFY_FAILED

Windowsサーバー2007 32ビットに AWS CLI をインストールしました。

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

aws cliキーの使用

以下のコマンドを実行してAWS S3をテストすると、次のSSLエラーが発生します。

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

この基本的なエラーを取り除くのを助けてください。

18
DD Dev

このオプションをコマンド「--no-verify-ssl」で使用します

18
dipt

それがOPの問題に関連しているかどうかは不明ですが、開発者の1人が今朝この問題を抱えており、他の問題をデバッグするためにFiddler(Windows)を使用していることがわかりました。 Fiddler(httpsトラフィックをインターセプトしていた)を停止した後、問題は解決しました。

13
mlo55

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 をインストールする必要があります。

AWS CLIでサポートされている環境変数の完全なリストについては、 here を参照してください

10
Xcalibur

Windows 10でも同じ問題が発生しました。aws cli Windowsレジストリからインターネットプロキシ設定を読み取っていません。環境変数HTTP_PROXYおよびHTTPS_PROXYを企業のインターネットプロキシに設定することにより、同じエラーを修正しました。それが誰かを助けることを願っています!

5

企業/企業ネットワークのMac OSXで同様の問題が発生しました。プロキシURLがわからない場合は、会社のネットワーク管理者から入手して、次のコマンドで構成します。

Linux、macOS、またはUnix

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

ウィンドウズ

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

詳細

2
Lahar Shah

鉱山は次のように解決されました:

pip install awscli --force-reinstall --upgrade
1
Zaur

企業プロキシが原因の可能性が高い問題です。私の場合、プロキシサーバーの背後にあるAWS CLIでコマンドを実行していて、証明書エラーが発生しました。そこで、これを回避するために-no-verify-sslフラグを追加しました。これは悪い考えですが、ネットワークチームによって解決されるまで仕事を終わらせるための一時的な解決策としてこれを使用しました。

1
Vishwa

同様の問題があり、次のようにプロキシを設定することで解決しました。

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

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

次のオプションを使用して、SSL認証の問題を解決します。

aws s3 ls --no-verify-ssl

0
Gowthaman

私はこのオプションはすでに試されていると思いますが、みんなの参考のためにここに置いておきます:

ec2マシンにプロキシを追加し、S3 vpc-endpointがアタッチされたプライベートサブネットにある場合。同じエラーが発生しました。

バケットのno_proxyを使用してプロキシをバイパスする: https://aws.Amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint/

私を助けなかったし、同じエラーでまだ失敗していました。

ここでの唯一の問題は、以下のようにs3.ap-southeast-2.amazonaws.comであるエンドポイントURLを追加する必要があることでした。

エクスポートNO_PROXY = 169.254.169.254、s3.ap-southeast-2.amazonaws.com

私の場合、169.254.169.254を使用してインスタンスロールの認証情報にアクセスします。

0
Satya