【问题标题】:AWS CLI won't detect / accept credentialsAWS CLI 不会检测/接受凭证
【发布时间】:2019-07-02 03:15:35
【问题描述】:

我在玩 AWS,我的凭证在几个月前就有效了。我正在使用位于 ~/.aws/credentials 中的凭据文件 并使用 AWS 提供的密钥。他们更新了访问密钥,所以我在文件中更改了它,但密钥保持不变。

我有这种格式的凭证文件:

[default] 
aws_access_key_id=xyz
aws_secret_access_key=xyz
region=eu-west-2
vpc-id=xyz

当我运行docker-machine create --driver amazonec2 testdriven-prod 我得到这个输出:

Error setting machine configuration from flags provided: amazonec2 driver requires AWS credentials configured with the --amazonec2-access-key and --amazonec2-secret-key options, environment variables, ~/.aws/credentials, or an instance role

该文件位于正确的目录中。为什么 Docker-machine 看不到它?我真的不明白这个错误。

我可以尝试什么来解决这个问题?

【问题讨论】:

  • 如果访问密钥已更改,则密钥也已更改。由于您使用的是默认配置文件,请尝试运行命令:aws sts get-caller-identity 并查看它是否返回包含帐号和 IAM 用户详细信息的响应,或者是否引发错误。
  • @krishna_mee2004 该命令输出Partial credentials found in shared-credentials-file, missing: aws_secret_access_key 奇怪的是,密钥并没有丢失。
  • @krishna_mee2004 我稍微编辑了文件我现在运行该命令得到了正确的输出但是在运行docker-machine create --driver amazonec2 testdriven-prod时我仍然得到同样的错误@

标签: amazon-web-services docker-machine


【解决方案1】:

这不是一个真正的答案,而是一个发现。

我使用详细的 cli 命令来创建实例并且它工作正常。虽然 这个:

docker-machine create --driver amazonec2 --amazonec2-access-key XYZ --amazonec2-secret-key XYZ --amazonec2-open-port 8000 --amazonec2-region eu-west-2 testdriven-prod

应该相当于:

aws_access_key_id=XYZ
aws_secret_access_key=XYZ
region=eu-west-2

在 ~/.aws/credentials 文件中,行为不同。 因此,如果有人仍然有兴趣分享这个问题的真正答案可能 请随时发布。

【讨论】:

    猜你喜欢
    • 2019-11-13
    • 2015-10-03
    • 2016-09-25
    • 2017-12-09
    • 1970-01-01
    • 2017-11-16
    • 2021-09-29
    • 1970-01-01
    • 2020-01-03
    相关资源
    最近更新 更多