Cli "Unable to locate credentials" on EC2 instance

0

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

Frank
asked 2 years ago640 views
1 Answer
1

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.

profile pictureAWS
EXPERT
answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions