将新密钥传递到AWS CLI

时间:2019-07-15 09:15:48

标签: amazon-web-services command-line-interface aws-cli

我安装了aws cli,并提供了aws访问密钥ID和秘密访问密钥。一切正常!然后我删除了该用户,因为我不再需要它了。然后,我创建了一个新用户(具有不同的访问密钥ID和秘密访问密钥)。 问题: 当我键入

aws configure

我得到:

AWS Access Key ID [****…]
AWS Secret Access Key [****...]

因此命令提示符正在使用前面的键。

如何在命令提示符下输入新键?

3 个答案:

答案 0 :(得分:4)

只需忽略旧密钥并输入新密钥,它将被覆盖。

答案 1 :(得分:2)

有两种方法。

  1. 直接更新配置文件,即使您的服务器重启后,更新也将保持一致。请在下面找到2个相关的文件路径。

AWS_SHARED_CREDENTIALS_FILE –指定AWS CLI用于存储访问密钥的文件的位置(默认为〜/ .aws / credentials)。

AWS_CONFIG_FILE –指定AWS CLI用于存储配置文件的文件的位置(默认为〜/ .aws / config)。

  1. 在控制台中导出变量以更新值。

以下示例显示了如何为默认用户配置环境变量。这些值将覆盖在命名配置文件或实例元数据中找到的所有值。设置后,您可以通过在CLI命令行上指定参数,或者通过更改或删除环境变量来覆盖这些值。

Linux,macOS或Unix

    export AWS_ACCESS_KEY_ID=************
    export AWS_SECRET_ACCESS_KEY=**************
    export AWS_DEFAULT_REGION=us-west-2

设置环境变量将更改所用的值,直到您的Shell会话结束或将变量设置为其他值为止。您可以通过在Shell的启动脚本中进行设置,使变量在以后的会话中保持不变。

Windows命令提示符

    setx AWS_ACCESS_KEY_ID ***********
    setx AWS_SECRET_ACCESS_KEY ***************
    setx AWS_DEFAULT_REGION us-west-2

使用set设置环境变量会更改使用的值,直到当前命令提示符会话结束,或者直到您将该变量设置为其他值为止。使用setx设置环境变量会更改当前命令提示符会话和运行命令后创建的所有命令提示符会话中使用的值。它不会影响您在运行命令时已经在运行的其他命令外壳。

答案 2 :(得分:0)

只想添加另一种方法即可。如果您不想覆盖当前用户,而是添加另一个用户,则此功能特别有用。

您可以使用配置文件选项添加更多凭据:
aws configure --profile <my-new-profile-name> [1]

如果不使用配置文件选项,则将隐式配置默认的配置文件凭据。

如果以后要使用配置文件,则每个aws cli命令都会提供配置文件选项,例如:aws s3 ls --profile <my-new-profile-name> [2]

参考文献

[1] https://docs.aws.amazon.com/cli/latest/reference/configure/
[2] https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-options.html