当我使用python boto connect到aws ec2时,它会显示SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:661)

问题描述 投票:-1回答:1

我正在使用Windows 10操作系统。

我想计算AWS的IP地址数量。

我使用python 2.7.14boto 2.6.0

我添加一个名为boto.config的文件,找到C:\ Users \ Administrator文件夹

boto.config的内容是:

[Credentials]

aws_access_key_id=******

aws_secret_access_key=*****

该脚本是:

#!/usr/bin/env python

# -*- encoding: utf8 -*-

import boto.ec2

from pprint import pprint

import ssh

import requests

import urllib3

import certifi

import ssl

conn = boto.ec2.connect_to_region('cn-north-1')

reservations = conn.get_all_instances()

InstanceMap=[]

for reservation in reservations:

    for instance in reservation.instances:

        if 'env' in instance.tags and instance.tags['env'] == 'test':

            InstanceMap.append(instance.ip_address)

f = open('F:\ip.txt','w')

pprint(InstanceMap, f)

当我运行此脚本时,它显示错误形成:

SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:661)

我可以用什么方法解决这个问题?

python amazon-web-services boto
1个回答
0
投票

尝试添加is_secure = False,如下所示,以跳过ssl验证,

conn = boto.ec2.connect_to_region('cn-north-1',is_secure=False)

尝试提供这样的凭证,这样你就可以知道boto配置中的密钥是否有效,如果这有效,如果这返回相同的问题,那么你需要在aws上检查你的api-key和secret。

API_KEY = 'Actual API_KEY'
API_SECRET = 'Actual Secret'
conn = boto.ec2.connect_to_region('us-east-2',aws_access_key_id=API_KEY,aws_secret_access_key=API_SECRET,is_secure=False)
© www.soinside.com 2019 - 2024. All rights reserved.