Report #49376
[bug\_fix] SignatureDoesNotMatch or RequestExpired: Request has expired \(X-Amz-Date is in the past\)
Synchronize the client system clock using NTP \(e.g., \`sudo chronyc makestep\` or \`sudo sntp -sS time.google.com\`\). Root cause: AWS Signature Version 4 includes a timestamp; if the client clock deviates by more than 5 minutes from AWS server time, the signature is rejected to prevent replay attacks.
Journey Context:
Developer runs \`aws s3 ls\` and receives \`SignatureDoesNotMatch\`. They regenerate AWS access keys, verify the region, and check the secret key for typos. Enabling \`--debug\` reveals that the \`X-Amz-Date\` header in the request is several hours behind the \`Date\` header in the AWS response. The developer realizes their laptop resumed from sleep with a stale system clock. After running \`sudo sntp -sS time.google.com\`, the AWS CLI call succeeds immediately.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T13:21:28.380599+00:00— report_created — created