首页 > 解决方案 > 通过 mac cli 以编程方式访问 AWS 帐户

问题描述

在我的 ~/.aws/credentials文件中,我有两个配置文件: defaultuser1.

user1密钥绑定到不同的 AWS 账户。

我可以访问默认帐户。

我无法访问user1AWS 账户:

例如,当我通过此命令时:

aws s3 ls --profile user1 

显示此消息:

调用 ListBuckets 操作时出现错误(SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。

另一个用户可以使用这些相同的密钥来访问此帐户,因此这些密钥是有效的。

我能做些什么来解决这个问题?

标签: amazon-web-servicesamazon-iamaws-iam-authenticator

解决方案


假设所有配置文件都不起作用。

您系统上的时间可能不同步。

您可以使用 Mac 系统同步时间

Big Sur

sudo sntp -sS time.apple.com

Mojave

万一出错

kod_init_kod_db(): Cannot open KoD db file /var/db/ntp-kod: No such file or directory

创建文件并将所有权更改为root。有人报告说这实际上破坏了 ntp 同步

sudo touch /var/db/ntp-kod
sudo chown root:wheel /var/db/ntp-kod

和运行

sudo sntp -sS pool.ntp.org

这篇文章中有更多选项如何判断我的 Mac 是否保持时钟正确更新?您可以尝试同步时间。

编辑:

随着 OP 的更新,它适用于一个配置文件,但不适用于第二个配置文件。在那方面,正如@Asdfg 建议的那样,

  • 仔细检查您个人资料中的密钥是否正确
  • 升级 AWS CLI,如果错误仍然存​​在,
  • 最后但并非最不重要的一点是遵循排除 AWS CLI 错误

推荐阅读