CLI 命令 "describe-instances" 抛出错误“调用

CLI command "describe-instances" throw error "An error occurred (AuthFailure) when calling the

我能够在 windows 16 个 AWS 实例上安装 CLI。当我尝试 "aws ec2 describe-instances" CLI 命令时,出现以下错误

CLI 命令"describe-instances" 抛出错误"An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials"

在 .aws\config 文件中我有以下内容:

[default]
   region = us-west-2

当我的访问密钥 ID 和秘密访问密钥没有任何问题时,授权怎么会失败。

当您第一次 运行 aws configure 时,它只是在 %UserProfile%\.aws\credentials 中填充了本地凭据;它没有使用 AWS 验证它们。

(aws-cli 在尝试执行操作之前不知道您的用户拥有什么权限——所有访问控制都发生在 AWS 端。它只是尝试执行您的要求,并告诉如果它没有访问权限,就像你看到的那样。)

也就是说,如果您是 运行 来自 AWS 实例的 CLI ,您可能需要考虑向该实例应用一个角色,这样您就不会不必将您的密钥存储在实例上。

我也尝试在 windows 环境中进行设置。没有工作并得到上面的错误。

所以我尝试设置我的环境

设置AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY

设置AWS_SECRET_ACCESS_KEY=***YOUR_SECRET_ACCESS_KEY*

然后尝试 运行 命令,例如 "aws ec2 describe-instance"

我尝试了很多东西。最后,只需卸载并再次安装(而不是修复)就可以了。只需确保保存您的凭据(密钥和密钥 ID)的副本,以便稍后在调用 aws configure 时使用。

验证您的日期时间是否同步。

使用:ntpdate ntp.server

最佳

我从 .aws 目录中删除了我的两个配置文件并重新运行“aws config” 这解决了我的问题。

我的步骤:

  • 转到用户下的 .aws 目录,例如"c:\Users\Joe\.aws"
  • 两个文件:configure 和 credential。删除两个文件
  • Re运行 配置:“aws 配置”

请注意,当您 运行 aws configure 时,您将需要 AWS 访问密钥和密钥。如果你没有它们,你可以创建另一个。 步骤:

  • 转到 AWS 控制台中您账户名下的“我的安全凭证”。
  • 展开访问密钥面板。
  • 创建新的访问密钥。

我的访问和安全密钥是正确的。我的服务器时间很好。我在使用 Ap-south-1 区域时出错。在我将我的区域更改为 us-west-2 后,它没有任何问题。