我尝试通过以下方式设置弹性 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