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

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

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

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

Required option '-K, --private-key KEY' missing (-h for usage)

关于如何解决这个问题有什么建议吗?

答案1

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

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

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

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

答案2

按照步骤为您的 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

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

ec2-describe-images \
-C <path-to-certificate-file>/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem \
-K <path-to-private-key>/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem ami-12345abc

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

答案3

向 Amazon EC2 CLI 提供访问密钥的最简单方法是设置 AWS_ACCESS_KEY 和 AWS_SECRET_KEY 环境变量。首先,将以下行添加到 ~/.bashrc 并保存文件。

export AWS_ACCESS_KEY=your-aws-access-key-id

export AWS_SECRET_KEY=your-aws-secret-key

更新 ~/.bashrc 后,运行以下命令:

source ~/.bashrc

要验证您的 CLI 工具是否设置正确,请运行以下命令:

ec2-describe-regions

来源: http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html

相关内容