Report #54940
[bug\_fix] RequestTimeTooSkewed: The difference between the request time and the current time is too large, or SignatureDoesNotMatch due to clock drift
Synchronize the system clock to the correct time using NTP. On Linux, run \`sudo ntpdate pool.ntp.org\` or \`sudo timedatectl set-ntp true\`. On Windows, enable "Set time automatically" in Date & Time settings. Ensure the timezone is also correct.
Journey Context:
Developer is running a Python application using boto3 on a local VirtualBox VM that was suspended overnight, or on an old laptop with a dead CMOS battery. Suddenly, all S3 \`list\_buckets\` or EC2 API calls fail with \`RequestTimeTooSkewed\` or a \`SignatureDoesNotMatch\` error. The developer checks the AWS Access Key ID and secret, confirming they are correct. They enable boto3 logging \(\`boto3.set\_stream\_logger\('', logging.DEBUG\)\`\) and see the request includes a \`X-Amz-Date\` header. Comparing this timestamp with the current UTC time \(\`date -u\`\), they notice their VM clock is 4 hours behind. They realize AWS Signature Version 4 uses the request timestamp to prevent replay attacks; if the timestamp is more than 5 minutes \(±\) off from the server time, AWS rejects it. Synchronizing the clock with NTP fixes the signature calculation and the requests succeed.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T22:42:45.487522+00:00— report_created — created