Amazon Elastic Beanstalk 在运行任何命令时不断询问凭据
Posted
技术标签:
【中文标题】Amazon Elastic Beanstalk 在运行任何命令时不断询问凭据【英文标题】:Amazon Elastic Beanstalk Keeps asking for credentials when running any command 【发布时间】:2014-09-02 11:02:06 【问题描述】:我有以下设置:
Mac OS X 10.10 Python 2.7我做了以下步骤
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
~/.aws/credentials
中的 AWS 凭证
[default]
AWSAccessKeyId=xxx
AWSSecretKey=xxx
使用.elasticbeanstalk/config
文件创建了一个项目
[global]
ApplicationName=Oselot Wordpress Blog
DevToolsEndpoint=git.elasticbeanstalk.us-east-1.amazonaws.com
EnvironmentName=oselotWordpressBlog-env
Region=us-east-1
当我尝试运行 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:
当我输入我的凭据时它工作正常,但每次都必须这样做很烦人。我有什么遗漏吗?
【问题讨论】:
我猜环境变量的正确名称是AWS_CREDENTIAL_FILE
,而不是AWS_CREDENTIALS_PATH
,如docs
已更改。还是没有骰子。
【参考方案1】:
运行eb init
,它在正确的位置创建了凭据文件
原来放置凭证文件的正确位置是:
~/.elasticbeanstalk/aws_credential_file
你简单地说
AWSAccessKeyId=xxx
AWSSecretKey=xxx
它有效。谁知道...
【讨论】:
我检查了 eb 脚本的代码,~/.elasticbeanstalk/aws_credential_file
是默认配置位置,被AWS_CREDENTIAL_FILE
设置覆盖。很高兴这可行,但仍然可以确定您拼写错误,或者没有重新启动 shell,或者由于某种原因未正确设置 env。
嗯...是的,我稍后会做更多的实验。不过现在……我在工作:)【参考方案2】:
您需要授予对 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 并解决了问题。
【讨论】:
以上是关于Amazon Elastic Beanstalk 在运行任何命令时不断询问凭据的主要内容,如果未能解决你的问题,请参考以下文章
在 Amazon Elastic Beanstalk 上安装 Anaconda
Amazon Elastic Beanstalk 如何采用自定义 python 命令?
如何卸载 Amazon Elastic Beanstalk 命令行界面?