【问题标题】:EC2ResponseError: 401 Unauthorized AWS was not able to validate the provided access for an ec2 instanceEC2ResponseError: 401 Unauthorized AWS 无法验证为 ec2 实例提供的访问权限
【发布时间】:2015-03-26 14:02:06
【问题描述】:

我在同一区域、安全组等中有两个 ec2 实例 A 和 B。 我使用 boto 进行连接。

将 boto 从 2.34.0 版更新到 2.35.0 版后,我无法从实例 A 连接到主机,但能够从实例 B 连接。

AuthFailureAWS 无法验证提供的访问凭证

我发现这个问题的可能原因是 boto Switch elb/ec2 over to signature version 4

我怎么可能从机器 B 连接,但无法从机器 A 连接?(负责两个实例上相同连接的 python 代码)

什么会导致这种奇怪的情况?谢谢

【问题讨论】:

  • 我在运行“EC2 外部清单脚本”时遇到了同样的错误。正如@garnaat 提到的那样,恰好是时钟配置错误。我通过在我的 ubuntu 盒子上使用 sudo ntpdate -s time.nist.gov 来修复它。
  • 继续 that 页面为 ec2 实例设置 ntpd

标签: python amazon-ec2 connection boto


【解决方案1】:

SigV4 身份验证方法对保持请求设备上的时钟与服务器上的时钟同步提出了更高的要求。不再工作的实例上的时钟可能已超过 5 分钟的限制,但仍处于先前 SigV2 签名算法要求的 15 分钟限制内。

尝试在两个实例上同步时钟。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多