web-dev-qa-db-fra.com

CERTIFICAT SSL_VERIFY_FAILED dans aws cli

J'ai installé AWS CLI sur le serveur Windows 2007 32 bits.

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

Je configure aws cli à l'aide des touches

Une fois que j'ai exécuté la commande ci-dessous pour tester AWS S3, j'obtiens cette erreur SSL:

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

Aidez-nous à vous débarrasser de cette erreur de base.

18
DD Dev

utilisez cette option avec votre cmd "--no-verify-ssl"

18
dipt

Je ne sais pas si cela est lié au problème de l'OP, cependant, l'un de nos développeurs a eu ce problème ce matin, s'est avéré qu'il utilisait Fiddler (sous Windows), pour déboguer d'autres problèmes. Après avoir arrêté Fiddler (qui interceptait le trafic https), le problème a été résolu.

13
mlo55

Si vous souhaitez utiliser SSL sans avoir à spécifier l'option - no-verify-ssl , vous devez définir l'option Variable d'environnement AWS_CA_BUNDLE . par exemple de PowerShell:

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

Le fichier PEM est une copie enregistrée du certificat racine du point de terminaison AWS auquel vous essayez de vous connecter. Pour le générer, exportez d'abord le certificat au format DER (Pour plus de détails sur la façon de procéder, voir ici ). Exécutez ensuite la commande suivante pour convertir au format PEM:

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

Si vous utilisez Powershell et non bash, vous devrez d'abord installer openssl .

Pour une liste complète des variables d'environnement prises en charge par l'AWS CLI, consultez ici

10
Xcalibur

J'ai eu le même problème sous Windows 10. Il se trouve que cela est dû au aws cli ne lit pas le paramètre de proxy Internet dans le registre Windows. Correction de la même erreur en définissant les variables d'environnement HTTP_PROXY et HTTPS_PROXY sur le proxy Internet d'entreprise. J'espère que ça aide quelqu'un!

5
Eugene Komisarenko

J'ai rencontré un problème similaire sur Mac OSX dans la société/le réseau d'entreprise. Si vous ne connaissez pas l'URL du proxy Obtenez-la auprès de l'administrateur réseau de votre entreprise et configurez-la avec les commandes suivantes.

Linux, macOS ou Unix

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

Les fenêtres

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

Plus d'informations

2
Lahar Shah

Le mien a été résolu avec:

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

Problème très probablement causé par le proxy d'entreprise. Dans mon cas, j'exécutais les commandes sur l'AWS CLI derrière le serveur proxy et j'obtenais une erreur de certificat. Donc, pour contourner cela, j'ai ajouté - no-verify-ssl flag. Bien que ce soit une mauvaise idée, je l'ai utilisé comme solution temporaire pour faire le travail jusqu'à ce qu'il soit résolu par l'équipe du réseau.

1
Vishwa

J'ai eu un problème similaire et l'ai résolu en définissant le proxy comme suit:

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

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

utilisez l'option suivante pour résoudre le problème de certification ssl.

aws s3 ls --no-verify-ssl

0
Gowthaman

Je crois que cette option aurait déjà été essayée, mais je l'ai simplement mise ici pour référence à tous:

lorsque vous avez ajouté un proxy à vos machines ec2 et qu'il se trouve dans un sous-réseau privé avec un point de terminaison vpc S3 attaché. J'obtenais la même erreur.

Contourner le proxy en utilisant no_proxy pour le compartiment selon: https://aws.Amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint/

ne m'a pas aidé et échouait toujours avec la même erreur.

le seul problème ici était que nous devions ajouter une URL de point de terminaison qui est s3.ap-southeast-2.amazonaws.com comme ci-dessous et cela a fonctionné pour moi:

export NO_PROXY = 169.254.169.254, s3.ap-southeast-2.amazonaws.com

169.254.169.254 est utilisé pour accéder aux informations d'identification de rôle d'instance dans mon cas.

0
Satya