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
已提問 2 年前檢視次數 475 次
1 個回答
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
專家
已回答 2 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南