EC2ResponseError: 401 Unauthorized AWS was not able to validate the provided access for an ec2 instance

EC2ResponseError: 401 Unauthorized AWS was not able to validate the provided access for an ec2 instance

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

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

AuthFailureAWS was not able to validate the provided access credentials

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

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

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

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

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