我在Windows Server 2007 32bit上安装AWS CLI。
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)
请帮助摆脱这个基本错误
答案 0 :(得分:13)
在您的cmd中使用此选项 “--no-验证-SSL”
答案 1 :(得分:8)
不确定它是否与OP的问题有关,但是,我们的一位开发人员今天早上遇到了这个问题,原来他正在使用Fiddler(在Windows上)来调试其他问题。在停止Fiddler(拦截https流量)后,问题得到了解决。
答案 2 :(得分:3)
我在Windows 10上遇到了同样的问题。这恰好是由于aws cli
没有从Windows注册表中读取Internet代理设置。通过将环境变量HTTP_PROXY和HTTPS_PROXY设置为公司Internet代理来修复相同的错误。希望它对某人有帮助!
答案 3 :(得分:1)
我的解决方法是:
pip install awscli --force-reinstall --upgrade
答案 4 :(得分:1)
我在公司/公司网络的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
答案 5 :(得分:0)
如果要使用SSL,而不必指定-no-verify-ssl 选项,则需要设置 AWS_CA_BUNDLE 环境变量。例如,从PowerShell:
setx AWS_CA_BUNDLE "C:\Users\UserX\Documents\RootCert.pem"
PEM文件是您尝试连接的AWS终端节点的根证书的已保存副本。要生成它,请首先以DER格式导出证书(有关如何执行此操作的详细信息,请参见here)。然后运行以下命令以转换为PEM格式:
openssl x509 -inform der -in "C:\Users\UserX\Documents\RootCert.der" -out RootCert.pem
如果您使用的是Powershell而未使用bash,则需要先安装openssl。
有关AWS CLI支持的环境变量的完整列表,请参阅here
答案 6 :(得分:0)
问题很可能是由公司代理引起的。就我而言,我在代理服务器后面的AWS CLI上运行命令,并收到证书错误。 因此,为了解决这个问题,我添加了 -no-verify-ssl 标志。尽管这不是一个好主意,但我还是用它作为临时解决方案来完成工作,直到网络团队将其解决为止。
答案 7 :(得分:0)
我相信该选项已经尝试过了,只是将其放在此处供大家参考:
当您将代理添加到ec2计算机时,并且该代理位于带有S3 vpc端点的专用子网中。我遇到了同样的错误。
按照https://aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint/
使用no_proxy为存储桶绕过代理没有帮助我,但仍然失败,并出现相同的错误。
这里唯一要注意的是,我们需要添加端点URL,它是s3.ap-southeast-2.amazonaws.com,如下所示,并且对我有用:
export NO_PROXY = 169.254.169.254,s3.ap-southeast-2.amazonaws.com
在我的案例中,169.254.169.254用于访问实例角色凭据。
答案 8 :(得分:0)
我遇到了类似的问题,并通过如下设置代理解决了该问题:
import pandas as pd
import cx_Oracle
connection = cx_Oracle.connect('username/pass@localhost/schema')
statement = "select clob_column from table "
df = pd.read_sql(statement, con=connection)
#print(df.head())
corpus=(df['CLOB_COLUMN'].values.tolist())
print (corpus)
答案 9 :(得分:0)
我将证书添加到C:\ Program Files \ Amazon \ AWSCLIV2 \ botocore \ cacert.pem,它解决了问题。
答案 10 :(得分:-1)
使用以下选项解决ssl认证问题。
aws s3 ls --no-verify-ssl
答案 11 :(得分:-1)
我同意以上答案,请执行以下操作
1- 删除您的 cli 并安装最新的 cli
2- 检查证书是否存在:C:\Program Files\Amazon\AWSCLIV2\botocore\cacert.pem
3- 如果它不存在,请删除 cli 并转到:C:\Program Files\ 并删除 Amazon
4- 安装 cli 最新版本,它应该可以工作。
5- 尝试在连接 VPN 的情况下进行测试