如何使用 Amazon EC2 命令行界面?

Dav*_*vid 5 linux command-line-interface amazon-ec2

我正在尝试使用命令行界面来获取我刚刚设置的 EC2 实例的描述。

我通过 ssh 连接到服务器并运行命令ec2-describe-images ami-12345abc。我收到以下错误消息,而不是对实例的描述

Required option '-K, --private-key KEY' missing (-h for usage)
Run Code Online (Sandbox Code Playgroud)

关于我如何解决这个问题的任何建议?

use*_*939 6

AWS 命令​​行工具使用私有密钥和证书来建立您的身份,就像 AWS Web 服务 API 所做的那样。因此,您必须在每个命令中传递您的私钥或证书。(在相关说明中,您不需要连接到 EC2 实例来运行命令。您可以从任何安装了工具并连接到 Internet 的机器上运行它们。)

创建在 EC2_PRIVATE_KEY 和 EC2_CERT 环境变量中设置私钥和证书的脚本通常是最简单的。这样,您不必每次都通过命令行选项明确指定它们。

有关更多信息,请参阅下面的文档(尤其是 --private-key 和 --cert 选项)。 API 工具的常用选项

与往常一样,请注意不要在不必要的范围内共享您的私钥和证书。


小智 5

按照步骤为您的 AWS 账户生成私钥和证书。

生成您的 Aws 私钥和证书文件

你有两个选择:

1.您可以导出这些密钥(确保它在您的 bashrc 文件中)并执行 EC2 命令

export EC2_PRIVATE_KEY=$HOME/<where your private key is>/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
export EC2_CERT=$HOME/<where your certificate is>/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
ec2-describe-images ami-12345abc
Run Code Online (Sandbox Code Playgroud)

2.在CLI中执行AWS时给出私钥和证书文件的路径

ec2-describe-images \
-C <path-to-certificate-file>/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem \
-K <path-to-private-key>/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem ami-12345abc
Run Code Online (Sandbox Code Playgroud)

我建议选择选项 2,因为它总是让我记住那些重要的文件。