AWS SDK for Python - Boto - KeyPair创建混乱

时间:2016-10-14 02:59:51

标签: python amazon-web-services amazon-ec2 boto

我正在尝试使用create_key_pair()方法创建一个EC2密钥对,类似于:

key_name = 'BlockChainEC2InstanceKeyPair-1'    
def create_new_key_pair(key_name):
    newKey = objEC2.create_key_pair(key_name)
    newKey.save(dir_to_save_new_key)

创建键是因为我可以使用get_all_key_pairs()方法获取这些键,如下所示:

def get_all_keypairs():
    try:
         key= objEC2.get_all_key_pairs()
    except:
        raise

get_all_key_pairs()返回如下所示的结果,表明密钥对存在:

<DescribeKeyPairsResponse xmlns="http://ec2.amazonaws.com/doc/2014-10-01/">
    <requestId>8d3faa7d-70c2-4b7c-ad18-810f23230c22</requestId>
    <keySet>
        <item>
            <keyName>BlockChainEC2InstanceKeyPair-1</keyName>
            <keyFingerprint>30:51:d4:19:a5:ba:11:dc:7e:9d:ca:49:10:01:30:34:b5:7e:9b:8a</keyFingerprint>
        </item>
        <item>
            <keyName>BlockChainEC2InstanceKeyPair-1.pem</keyName>
            <keyFingerprint>18:7e:ba:2c:44:67:44:a7:06:c4:68:3a:47:00:88:8f:31:98:27:e6</keyFingerprint>
        </item>
    </keySet>
</DescribeKeyPairsResponse>

我的问题是当我登录我的AWS控制台以获取我用来创建密钥对的访问密钥的同一帐户时 - 我无法找到密钥。

问题:在我的AWS控制台中,我可以看到使用create_key_pair()方法创建的密钥对。

1 个答案:

答案 0 :(得分:1)

keypairs适用于每个地区。我怀疑您是使用boto在一个区域中创建密钥对,并且您正在检查AWS控制台中其他区域中的密钥对。

确保您在boto(.aws / config)中使用默认区域,并检查您的AWS仪表板是否位于同一区域。如果不更改仪表板中的区域以匹配您的boto默认区域,则您的密钥对将显示在那里。

或者在创建EC2对象时传递region参数。