我正在编写一个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
我也想使用这个脚本进行配置。我希望我可以通过脚本提供这些凭据,以防止手动输入。怎么办呢?
答案 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