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)
この基本的なエラーを取り除くのを助けてください。
このオプションをコマンド「--no-verify-ssl」で使用します
それがOPの問題に関連しているかどうかは不明ですが、開発者の1人が今朝この問題を抱えており、他の問題をデバッグするためにFiddler(Windows)を使用していることがわかりました。 Fiddler(httpsトラフィックをインターセプトしていた)を停止した後、問題は解決しました。
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 を参照してください
Windows 10でも同じ問題が発生しました。aws cli
Windowsレジストリからインターネットプロキシ設定を読み取っていません。環境変数HTTP_PROXYおよびHTTPS_PROXYを企業のインターネットプロキシに設定することにより、同じエラーを修正しました。それが誰かを助けることを願っています!
企業/企業ネットワークのMac OSXで同様の問題が発生しました。プロキシURLがわからない場合は、会社のネットワーク管理者から入手して、次のコマンドで構成します。
$ 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
鉱山は次のように解決されました:
pip install awscli --force-reinstall --upgrade
企業プロキシが原因の可能性が高い問題です。私の場合、プロキシサーバーの背後にあるAWS CLIでコマンドを実行していて、証明書エラーが発生しました。そこで、これを回避するために-no-verify-sslフラグを追加しました。これは悪い考えですが、ネットワークチームによって解決されるまで仕事を終わらせるための一時的な解決策としてこれを使用しました。
同様の問題があり、次のようにプロキシを設定することで解決しました。
$ set HTTP_PROXY=http://proxy.example.com:1234
$ set HTTPS_PROXY=https://proxy.example.com:1234
次のオプションを使用して、SSL認証の問題を解決します。
aws s3 ls --no-verify-ssl
私はこのオプションはすでに試されていると思いますが、みんなの参考のためにここに置いておきます:
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を使用してインスタンスロールの認証情報にアクセスします。