在 Ubuntu 16.04 上执行
eb init
时,我遇到了错误 Credential must have exactly 5 slash-delimited elements, e.g. keyid/date/region/service/term,
。
我知道我的
keyid
有斜线,但它们必须在那里,密钥由 AWS 提供并生成。我不知道如何跳过此验证。据我所知,在 MAC 上不存在这个问题。
我该如何处理这个错误?谢谢
AWS 访问密钥 ID 不有任何斜杠。它仅由大写 ASCII 字母组成,并以
AKIA...
或 ASIA...
开头。
一种可能的解释是,您已将访问密钥 ID 与随附的秘密访问密钥互换,该密钥通常带有斜杠。
访问密钥由访问密钥 ID(例如,
)和秘密访问密钥(例如,AKIAIOSFODNN7EXAMPLE
)组成。wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
如果您确实在配置中调换了这些值,则应在继续之前停用这些凭据并创建新凭据,因为您可能无意中暴露了您的密钥。
就我而言,我将
access_key
用作 secret_key
,将 secrect_key
用作 access_key
。
所以最好仔细检查一下这个秘密。
此外,访问密钥不应包含任何特殊字符。另外,一种容易识别访问密钥的方法是查看密钥的前缀。
访问键以前缀
开头,否则以ASIA
开头。 AWS 上的所有随机 ID 都有自己的 4 个字母前缀来识别它们的含义。AKIA
我有访问ID和密钥的环境变量,我把它们互换了,这就是问题所在,一旦我正确设置了它们,它就可以工作了
就我而言,env 键是小写的。将它们设为大写解决了我的问题
aws_access_key_id
-> AWS_ACCESS_KEY_ID
aws_secret_access_key
-> AWS_SECRET_ACCESS_KEY
在我的例子中,只需刷新所有会话,即关闭所有打开的终端并重新启动 ide。