Report #16907
[bug\_fix] RequestTimeTooSkewed: The difference between the request time and the current time is too large.
Synchronize the system clock using NTP \(Network Time Protocol\). On Linux, run \`sudo chronyc tracking\` or \`sudo ntpdate pool.ntp.org\`. On Windows, use \`w32tm /resync\`. In Docker, ensure the container inherits time from the host or runs an NTP client. Root cause: AWS Signature Version 4 \(SigV4\) includes a timestamp. If the client's system clock differs from AWS server time by more than 5 minutes, AWS rejects the request to prevent replay attacks. This often occurs on virtual machines after live migration, laptops after sleep, or embedded devices without RTCs.
Journey Context:
A developer is testing an IoT device \(Raspberry Pi\) that uploads sensor data to Amazon S3 using Python boto3. The script works on their laptop but fails on the Pi with 'RequestTimeTooSkewed'. The developer checks the Pi's time with \`date\` and notices it's 8 minutes behind actual time \(the Pi has no real-time clock and NTP was disabled\). They manually set the time with \`sudo date -s\`, the script works temporarily. They realize the root cause is lack of persistent time sync. They install and enable \`systemd-timesyncd\` and the issue is permanently resolved. On another occasion, a developer on a macOS laptop sees this error after waking the laptop from sleep; running \`sntp -sS time.apple.com\` fixes it immediately.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T03:55:44.292223+00:00— report_created — created