为 EC2 实例分配静态地址的问题

为 EC2 实例分配静态地址的问题

我尝试通过以下方式设置弹性 IP:

ec2-allocate-address

然而,它给了我一个错误:

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

为什么是这样?

答案1

大多数 AWS 控制台工具都需要使用私钥和证书(少数(例如与 S3 相关的工具)需要您访问密钥。

在您的 AWS 帐户下,有一个名为“安全凭证”的页面 - 在此页面上,您可以创建(或上传)新证书或下载现有证书。创建证书后,您将无法再访问您的私钥 - 因此,您必须在创建证书时保存它。

对于ec2-allocate-address(和大多数 AWS 工具),您可以设置两个包含证书和私钥路径的环境变量,也可以将路径直接作为命令行的一部分传递。

  • -K, --private-key:您的私钥路径(pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem)
  • -C,--cert:您的 X.509 证书的路径(cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem)

如果您将多次使用该工具或使用多个工具,则设置环境变量会更容易:

export EC2_PRIVATE_KEY=/path/to/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem 
export EC2_CERT=/path/to/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem

您可以在以下位置找到许多常见的 AWS 工具选项:AWS 文档

答案2

我相信您应该已经拥有私钥证书。该密钥与您的节点所属的安全组相关联。我个人通过将密钥注册到我的 Tunnelier SSH 客户端来使用该密钥,以获取与我的节点的 SSH 连接。

换句话说,您不需要为自己颁发新证书,因为证书已经存在。您只需将其导出到文件并将其包含在命令行查询中。

您可以通过以下 URL 获取 X.509 密钥: https://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key

相关内容