AWS SSH密钥对创建

问题描述

我遇到了以下命令来创建AWS SSH密钥对,但无法理解此处的“ --query”参数在做什么。

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

有人可以向我解释-query 参数的重要性吗?

解决方法

--query参数是AWS CLI工具的一项功能,可让您过滤命令成功执行后显示的响应。 --query KeyMaterial参数所做的只是将命令的输出限制为SSH密钥的实际内容,而没有诸如密钥的ID之类的任何其他数据。这是必要的,因为输出是通过> MyKeyPair.pem保存到文件的。

,

通过使用--query参数,您可以修改将从AWS API收到的响应。

此功能在您要以编程方式使用AWS CLI提取响应的一部分的情况下非常有用,在您的示例中,这是从响应中提取KeyMaterial属性,但它也可以用于根据属性值过滤和提取属性。

在您的用例中,这意味着您将能够获取密钥的纯文本并将其直接泵送到文本文件中,而无需手动执行复制和粘贴(尽管这受--output标志的帮助)。

有关更多信息,请查看Controlling command output from the AWS CLI文档。