创建、显示和删除 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 EC2) 创建、显示和删除您的密钥对。您可以使用密钥对连接 Amazon EC2 实例。

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

注意

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

先决条件

要运行 ec2 命令,您需要:

创建密钥对

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

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

对于 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" } ] }

有关密钥和指纹的更多信息,请参阅 Amazon EC2 用户指南中的 Amazon EC2 密钥对

删除您的密钥对

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

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

参考信息

Amazon CLI 参考:

其他参考资料: