我正在尝试使用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()方法创建的密钥对。
答案 0 :(得分:1)
keypairs
适用于每个地区。我怀疑您是使用boto在一个区域中创建密钥对,并且您正在检查AWS控制台中其他区域中的密钥对。
确保您在boto(.aws / config)中使用默认区域,并检查您的AWS仪表板是否位于同一区域。如果不更改仪表板中的区域以匹配您的boto默认区域,则您的密钥对将显示在那里。
或者在创建EC2对象时传递region参数。