本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建、显示和删除 Amazon EC2 密钥对
您可以使用 Amazon Command Line Interface (Amazon CLI) 为亚马逊弹性计算云 (Amazon EC2) 创建、显示和删除您的密钥对。您可以使用密钥对连接 Amazon EC2 实例。
在创建实例时您必须向 Amazon EC2 提供密钥对,然后在连接到实例时使用该密钥对进行身份验证。
注意
有关其他命令示例,请参阅参考指南
先决条件
要运行 ec2
命令,您需要:
安装和配置 Amazon CLI。有关更多信息,请参阅安装或更新到最新版本的 Amazon CLI 和身份验证和访问凭证。
-
设置您的 IAM 权限以允许访问 Amazon EC2。有关亚马逊 EC2 的 IAM 权限的更多信息,请参阅亚马逊 EC2 用户指南中的亚马逊 EC2 的 IAM 政策。
创建密钥对
要创建密钥对,请使用 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 -filepathMyKeyPair.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 参考:
其他参考资料:
-
要查看 Amazon SDK 和 Amazon CLI 代码示例并为其做出贡献,请参阅上的 “Amazon 代码示例存储库
” GitHub。