使用 Boto3 在 AWS 上创建新的 EC2 密钥对

ESu*_*nik 5 amazon-ec2 boto3

boto3 1.1.2 文档说该create_key_pair命令应该返回一个包含新创建的密钥对的私钥的字典。

我确实在使用那个版本......

>>> import boto3
>>> boto3.__version__
'1.1.2'
Run Code Online (Sandbox Code Playgroud)

……然而,当我运行时,我create_key_pair反而返回了一个KeyPair对象,该对象似乎不包含有关私钥的任何信息。确实创建了密钥对,只是我无法检索私钥,因为它仅在创建密钥对时才可用。较旧的 bo​​to API 显然.saveKeyPair对象上有一个方法可以将密钥保存到文件中,但这似乎也已从 API 中删除。

在 boto3 1.1.2 中,如何创建新的 EC2 密钥对检索其私钥?

Joh*_*ein 9

私钥在keypair['KeyMaterial']以下位置可用:

>>> import boto3
>>> ec2 = boto3.client('ec2')
>>> keypair = ec2.create_key_pair(KeyName='foo')
>>> keypair['KeyMaterial']
'-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCA...\n-----END RSA PRIVATE KEY-----'
Run Code Online (Sandbox Code Playgroud)

参考: