Cli "Unable to locate credentials" on EC2 instance
I'm trying to use the AWS CLI tool on an EC2 instance running Amazon Linux.
I configured it by using the "aws configure" command to set up an access key and secret key. When I run it directly from the linux prompt, it works fine.
However, I need to run it as part of a script that is executed nightly with cron. I put a link to my script in cron.daily. The script runs, but when it reaches the aws command, it fails with the error "Unable to locate credentials".
I suspect that cron must be running the script under some user other than the default ec2-user, but I can't figure out which user, or how to configure the credentials for that user.
I tried typing "sudo su" and then re-issuing the commands to set the credentials, but that did not fix the problem.
Thanks, Frank
I suspect you're on the right path - the credentials are set up for a particular user and the cron job is executing as another user; or in some way cannot locate the file where the credentials are stored.
My recommendation is not to use static credentials. Instead, create a role for the instance - that way you don't have to worry about rotating credentials or even storing them on the instance.
Relevant questions
Cli "Unable to locate credentials" on EC2 instance
asked 14 days agoHow does an EC2 instance assume an IAM Role?
Accepted Answerasked 3 months agoLocate Instance
asked 5 months agoBacking up the EC2
asked 3 years agoDoes user need Programmatic Access if using EC2 Instance Connect service?
Accepted Answerasked 2 years agoBotocore not able to use credentials on EC2 instance
asked a year agoAWS CLI does not pick up credentials file with sudo (EC2, Linux)
asked 5 months agoUnable to connect to EC2 instance via aws website
Accepted Answerasked 13 days agoEB-Cli SSH Tunnel to RDS Database
asked 3 years agoaws-cli Unable to locate credentials at launch
asked 3 years ago