创建、显示和删除 Amazon EC2 密钥对 - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

创建、显示和删除 Amazon EC2 密钥对

您可以使用 Amazon Command Line Interface (Amazon CLI) 创建、显示和删除 Amazon Elastic Compute Cloud (Amazon EC2) 密钥对。您可以使用密钥对连接 Amazon EC2 实例。

在创建实例时您必须向 Amazon EC2 提供密钥对,然后在连接到实例时使用该密钥对进行身份验证。

注意

有关其他命令示例,请参阅 Amazon CLI 参考指南

先决条件

要运行 ec2 命令,您需要:

创建密钥对

要创建密钥对,请使用 aws ec2 create-key-pair 命令以及 --query 选项和 --output text 选项,以通过管道将私有密钥直接传输到文件。

$ aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text > MyKeyPair.pem

对于 Windows PowerShell,> file 重定向会默认采用 UTF-8 编码,这种编码不能用于某些 SSH 客户端。因此,您必须通过管道将输出传输到 out-file 命令和显式将编码设置为 ascii 来转换输出。

PS C:\>aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text | out-file -encoding ascii -filepath MyKeyPair.pem

生成的 MyKeyPair.pem 文件类似于以下内容。

-----BEGIN RSA PRIVATE KEY----- EXAMPLEKEYKCAQEAy7WZhaDsrA1W3mRlQtvhwyORRX8gnxgDAfRt/gx42kWXsT4rXE/b5CpSgie/ vBoU7jLxx92pNHoFnByP+Dc21eyyz6CvjTmWA0JwfWiW5/akH7iO5dSrvC7dQkW2duV5QuUdE0QW Z/aNxMniGQE6XAgfwlnXVBwrerrQo+ZWQeqiUwwMkuEbLeJFLhMCvYURpUMSC1oehm449ilx9X1F G50TCFeOzfl8dqqCP6GzbPaIjiU19xX/azOR9V+tpUOzEL+wmXnZt3/nHPQ5xvD2OJH67km6SuPW oPzev/D8V+x4+bHthfSjR9Y7DvQFjfBVwHXigBdtZcU2/wei8D/HYwIDAQABAoIBAGZ1kaEvnrqu /uler7vgIn5m7lN5LKw4hJLAIW6tUT/fzvtcHK0SkbQCQXuriHmQ2MQyJX/0kn2NfjLV/ufGxbL1 mb5qwMGUnEpJaZD6QSSs3kICLwWUYUiGfc0uiSbmJoap/GTLU0W5Mfcv36PaBUNy5p53V6G7hXb2 bahyWyJNfjLe4M86yd2YK3V2CmK+X/BOsShnJ36+hjrXPPWmV3N9zEmCdJjA+K15DYmhm/tJWSD9 81oGk9TopEp7CkIfatEATyyZiVqoRq6k64iuM9JkA3OzdXzMQexXVJ1TLZVEH0E7bhlY9d8O1ozR oQs/FiZNAx2iijCWyv0lpjE73+kCgYEA9mZtyhkHkFDpwrSM1APaL8oNAbbjwEy7Z5Mqfql+lIp1 YkriL0DbLXlvRAH+yHPRit2hHOjtUNZh4Axv+cpg09qbUI3+43eEy24B7G/Uh+GTfbjsXsOxQx/x p9otyVwc7hsQ5TA5PZb+mvkJ5OBEKzet9XcKwONBYELGhnEPe7cCgYEA06Vgov6YHleHui9kHuws ayav0elc5zkxjF9nfHFJRry21R1trw2Vdpn+9g481URrpzWVOEihvm+xTtmaZlSp//lkq75XDwnU WA8gkn6O3QE3fq2yN98BURsAKdJfJ5RL1HvGQvTe10HLYYXpJnEkHv+Unl2ajLivWUt5pbBrKbUC gYBjbO+OZk0sCcpZ29sbzjYjpIddErySIyRX5gV2uNQwAjLdp9PfN295yQ+BxMBXiIycWVQiw0bH oMo7yykABY7Ozd5wQewBQ4AdSlWSX4nGDtsiFxWiI5sKuAAeOCbTosy1s8w8fxoJ5Tz1sdoxNeGs Arq6Wv/G16zQuAE9zK9vvwKBgF+09VI/1wJBirsDGz9whVWfFPrTkJNvJZzYt69qezxlsjgFKshy WBhd4xHZtmCqpBPlAymEjr/TOlbxyARmXMnIOWIAnNXMGB4KGSyl1mzSVAoQ+fqR+cJ3d0dyPl1j jjb0Ed/NY8frlNDxAVHE8BSkdsx2f6ELEyBKJSRr9snRAoGAMrTwYneXzvTskF/S5Fyu0iOegLDa NWUH38v/nDCgEpIXD5Hn3qAEcju1IjmbwlvtW+nY2jVhv7UGd8MjwUTNGItdb6nsYqM2asrnF3qS VRkAKKKYeGjkpUfVTrW0YFjXkfcrR/V+QFL5OndHAKJXjW7a4ejJLncTzmZSpYzwApc= -----END RSA PRIVATE KEY-----

您的私有密钥不存储在 Amazon 中,并且只有 在创建后才能检索。以后您无法恢复它。而如果您丢失了私有密钥,则必须创建新的密钥对。

如果您要从 Linux 电脑连接到您的实例,建议您使用以下命令设置您的私有密钥文件的权限,以确保只有您可以读取该文件。

$ chmod 400 MyKeyPair.pem

显示您的密钥对

指纹是从密钥对生成的,您可以使用指纹验证您本地电脑上的私有密钥是否与 Amazon 中存储的公有密钥匹配。

指纹是取自私有密钥的 DER 编码副本的 SHA1 哈希。在创建密钥对时将捕获此值,此值与公有密钥一起存储在 Amazon 中。您可以在 Amazon EC2 控制台中或通过运行 Amazon CLI 命令 aws ec2 describe-key-pairs 查看指纹。

以下示例显示 MyKeyPair 的指纹。

$ aws ec2 describe-key-pairs --key-name MyKeyPair { "KeyPairs": [ { "KeyName": "MyKeyPair", "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f" } ] }

有关密钥对的更多信息,请参阅 适用于 Linux 实例的 Amazon EC2 用户指南 中的 Amazon EC2 密钥对

删除您的密钥对

要删除密钥对,请运行 aws ec2 delete-key-pair 命令,将 MyKeyPair 替换为要删除的密钥对的名称。

$ aws ec2 delete-key-pair --key-name MyKeyPair

参考信息

Amazon CLI 参考:

其他参考资料: