14

我正在编写一个 bash 脚本,它将自动安装和配置 AWS CLI 工具。我能够安装 AWS CLI 工具,但无法对其进行配置。

我的脚本是这样的:

#!/bin/bash


wget https://s3.amazonaws.com/aws-cli/awscli-bundle.zip
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
./awscli-bundle/install -b ~/bin/aws
./awscli-bundle/install -h

aws configure
AWS Access Key ID [None]: ABCDEFGHIJKLMNOP   ## unable to provide this data
AWS Secret Access Key [None]: xbdwsdADDS/ssfsfa/afzfASADQASAd   ## unable to provide this data
Default region name [None]: us-west-2   ## unable to provide this data
Default output format [None]: json   ## unable to provide this data

我也希望使用此脚本进行配置。我希望我可以通过脚本提供这些凭据,以防止手动输入。如何才能做到这一点?

4

3 回答 3

20

使用配置文件而不是aws configure命令。创建一个名为的文件~/.aws/config,如下所示:

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
region=us-west-2
output=json

文档中的更多信息。

于 2014-07-02T16:43:13.217 回答
2

最佳做法是通过 BASH 安装awscli实用程序并从您自己指定的 2 个文件位置复制该文件

不打

#aws configure 

命令这些文件不会被创建,您可以使用 bash 脚本复制和粘贴文件并完成所有执行

~/.aws/credintials
~/.aws/config

凭据包含

[default]
aws_access_key_id=ABCDEFGHIJKLMNOP
aws_secret_access_key=xbdwsdADDS/ssfsfa/afzfASADQASAd

并且配置文件包含

[default]
output=json
region=us-west-2

这将帮助您将密钥保存在一个地方,您还可以为任何 CMT 工具以及 Ansible 等执行推送相同的密钥。

于 2017-10-16T19:52:37.770 回答
1

您还可以从命令行配置它,这将创建配置文件

aws configure set aws_access_key_id ABCDEFGHIJKLMNOP
aws configure set aws_secret_access_key xbdwsdADDS/ssfsfa/afzfASADQASAd
aws configure set default.region eu-west-1
于 2018-09-26T18:07:56.850 回答