AWS CLI - [SSL: CERTIFICATE_VERIFY_FAILED]证书验证失败:证书链中有自签名证书(_ssl.c:1056)

10

我正在尝试使用AWS-CLI检索AWS Elastic Beanstalk的详细信息,但是却收到以下错误消息:

错误信息:

C:\abdul>aws elasticbeanstalk describe-environments --environment-name myenvname

SSL validation failed for https://elasticbeanstalk.us-east-1.amazonaws.com/ [SSL
: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate
in certificate chain (_ssl.c:1056)

注意:

当我尝试检索我的EC2详细信息时,我可以无任何问题地工作。

C:\abdul>aws ec2 describe-instances --instance-ids 'i-xxxxxxxxxxxxxx'

上述命令没有任何问题,只有在尝试使用“elasticbeanstalk”命令时才会出现上述错误。 注意: 我已经准备好了所有必需的证书。
提前致谢。
4个回答

14
我在谷歌搜索时找到了这篇文章。我的情况是,我收到了以下错误信息: SSL验证失败于https://ec2.us-west-2.amazonaws.com/ [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1091) 我发现这篇博客告诉我要添加一个名为AWS_CA_BUNDLE的环境变量,它的值是指向CA证书文件的路径(我从我们公司网络团队请求后保存在本地)。一旦我添加了该环境变量,我就能够成功运行AWS CLI命令!

5
在 macOS/Linux 上实现此功能的步骤:
  1. Download the Corporate Self-Signed Certificates using OpenSSL

       openssl s_client -showcerts -verify 5 -servername ec2.us-west-2.amazonaws.com -connect ec2.us-west-2.amazonaws.com:443 < /dev/null | awk '/BEGIN/,/END/{ if(/BEGIN/){a++}; out="cert"a".crt"; print >out}' && for cert in *.crt; do newname=$(openssl x509 -noout -subject -in $cert | sed -n 's/^.*CN=\(.*\)$/\1/; s/[ ,.*]/_/g; s/__/_/g; s/^_//g;p').pem; mv $cert $newname; done
    
  2. Create a bundle.pem by concatenating all the files fetched from the first command.

将ec2_us-west-2_amazonaws_com.pem、company_intermediate.pem和company_root.pem合并为bundle.pem

  1. 将其设置为AWS_CA_BUNDLE环境变量。

export AWS_CA_BUNDLE=/Users/velayutham/work/corp-cert/bundle.pem

  1. 现在应该可以正常运行aws ec2 describe-instances --region us-west-2命令了。

2

我也遇到了同样的问题。这是我解决它的方法。
首先运行以下命令:

$export REQUESTS_CA_BUNDLE=/path/to/company/certificate.crt

然后运行AWS cli命令。

aws elasticbeanstalk describe-environments --environment-name myenvname

2

检查 /usr/local/aws-cli/v2/current/dist/awscli/botocore/cacert.pem 文件的权限。我的权限是640。实际上,我不得不调整整个安装的权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接