我试图嵌入访问和密钥以及aws cli.例如
aws ec2 describe-instances --aws-access-key <access_key> --aws-secret-key <secret_key>
Run Code Online (Sandbox Code Playgroud)
还分别尝试使用-o和-w选项进行访问和密钥.它说:未知选项aws-access-key和aws-secret-key
Dan*_*anH 58
您可以通过envars在命令行上提供密钥:
AWS_ACCESS_KEY_ID=ABCD AWS_SECRET_ACCESS_KEY=EF1234 aws ec2 describe-instances
Run Code Online (Sandbox Code Playgroud)
请参见http://docs.aws.amazon.com/cli/latest/topic/config-vars.html#credentials
编辑:@wisbucky注意到这可能会在你的命令历史中留下秘密.至少我认为在bash中解决这个问题的一种方法是在命令前加上一个空格,命令不应该传播到你的bash历史记录中.
cos*_*rix 14
我必须访问亚马逊上的多个帐户。我的解决方案:
在下面~/.aws/config:
[default]
aws_access_key_id=xxxx
aws_secret_access_key=xxxxxx
region=sa-east-1
output=text
[profile prof1]
region=us-east-1
output=text
aws_access_key_id=yyy
aws_secret_access_key=yyyyy
[profile prof2]
region=us-east-1
output=text
aws_access_key_id=wwwwww
aws_secret_access_key=wwwww
Run Code Online (Sandbox Code Playgroud)
...然后当调用 AWS CLI 时,我--profile按如下方式传递参数:
/usr/local/bin/aws ec2 describe-security-groups --group-ids sg-xxxx --profile prof2
Run Code Online (Sandbox Code Playgroud)
您可以像这样使用它;
aws configure set aws_access_key_id <yourAccessKey>
aws configure set aws_secret_access_key <yourSecretKey>
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请使用此。
aws configure set help
Run Code Online (Sandbox Code Playgroud)
一般模式是;
aws <command> help
aws <command> <subcommand> help
Run Code Online (Sandbox Code Playgroud)
希望对您有所帮助!
我认为以前的答案是正确的,这是我的回复,它更像是 Danh 的回复,但也包括多个选项和 Windows
export AWS_ACCESS_KEY_ID=your_key; export AWS_SECRET_ACCESS_KEY=your_secret; aws s3 ls
Run Code Online (Sandbox Code Playgroud)
AWS_ACCESS_KEY_ID=your_key AWS_SECRET_ACCESS_KEY=your_secret aws s3 ls
Run Code Online (Sandbox Code Playgroud)
$Env:AWS_ACCESS_KEY_ID="your_key"
$Env:AWS_SECRET_ACCESS_KEY="your_secret"
aws s3 ls
Run Code Online (Sandbox Code Playgroud)
完全归功于出色的AWS 文档
您还可以使用 aws 配置:
$ aws configure
AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxxxxxxxx
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
总结aws doc,有几种方法可以将凭据传递给命令行。请注意,没有命令行选项可以直接传递密钥和秘密密钥。而是使用“供应商链”。
在我的bash脚本中,我经常使用环境变量。为了增加一点安全性,我提供了一个包含变量的文件,而不是将其放在脚本中。使用命名的配置文件,甚至更容易。
提供者链为:
Evg*_*min -1
您应该将凭证存储到 ~/.aws/config 文件(或 .aws/credentials)
更多信息如何设置http://docs.aws.amazon.com/cli/latest/reference/configure/index.html
另外,作为替代方法,您可以创建 IAM 角色和某些策略并将其设置为您将使用 aws cli 的 ec2 实例,然后您将不需要在那里设置任何凭据
| 归档时间: |
|
| 查看次数: |
38579 次 |
| 最近记录: |