用于安装AWS CLI工具的Bash脚本

时间:2014-07-02 16:38:41

标签: linux bash shell amazon-web-services aws-cli

我正在编写一个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

我也想使用这个脚本进行配置。我希望我可以通过脚本提供这些凭据,以防止手动输入。怎么办呢?

3 个答案:

答案 0 :(得分:20)

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

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

更多信息in the docs

答案 1 :(得分:1)

最佳做法是安装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。

答案 2 :(得分:-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