亚马逊弹性豆荚运行命令时不断要求凭证

2 投票
2 回答
2546 浏览
提问于 2025-04-18 12:59

我有以下的设置:

  • Mac OS X 10.10
  • Python 2.7

我做了以下步骤:

  1. 把AWS EB控制台工具添加到我的路径中,放在了~/.bash_profile里

    export PATH=$PATH:~/amazon-eb/eb/linux/python2.7/
    export AWS_ACCESS_KEY_ID=xxx
    export AWS_SECRET_KEY=xxx
    export AWS_CREDENTIAL_FILE=~/.aws/credentials
    
  2. ~/.aws/credentials里设置了AWS凭证

    [default]
    AWSAccessKeyId=xxx
    AWSSecretKey=xxx
    
  3. 创建了一个项目,并且里面有.elasticbeanstalk/config文件

    [global]
    ApplicationName=Oselot Wordpress Blog
    DevToolsEndpoint=git.elasticbeanstalk.us-east-1.amazonaws.com
    EnvironmentName=oselotWordpressBlog-env
    Region=us-east-1
    
  4. 当我尝试运行eb status时,它会让我输入我的凭证

    Anatoliys-MBP:oselot-blog toli$ eb status
    To get your AWS Access Key ID and Secret Access Key, 
      visit "https://aws-portal.amazon.com/gp/aws/securityCredentials".
    Enter your AWS Access Key ID:
    

当我输入凭证时,它能正常工作,但每次都要输入真的很烦人。我是不是漏掉了什么?

2 个回答

1

你需要给 aws_credential_file 文件设置读取权限。当我运行 $ eb push 命令时,出现了以下错误信息:

注意:“git aws.push”命令使用的是以下文件中的 AWS 凭证:

/Users/MOH/.elasticbeanstalk/aws_credential_file

这个 AWS 凭证文件无法被读取。你需要给这个文件设置读取权限,或者编辑 ".elasticbeanstalk/config" 配置文件,指向一个不同的文件。凭证文件必须使用以下格式:

所以我去到了 ~/.elasticbeanstalk/ 目录,然后输入了 $sudo chmod 644 aws_credential_file,问题就解决了。

3

运行了 eb init 命令后,它在正确的位置创建了凭证文件。

原来,放置凭证文件的正确位置是:

~/.elasticbeanstalk/aws_credential_file

你只需要放入

AWSAccessKeyId=xxx
AWSSecretKey=xxx

这样就可以正常工作了。谁知道呢……

撰写回答