我已安装了awscli,并将aws密钥添加到配置和凭据文件中。 现在,我可以通过Windows的文件浏览器访问它们,但我无法通过WSL bash访问它们。当我尝试cd到rootfs中存在的.aws文件夹时,它会显示权限被拒绝。如何从bash中访问它们?
我已安装了awscli,并将aws密钥添加到配置和凭据文件中。 现在,我可以通过Windows的文件浏览器访问它们,但我无法通过WSL bash访问它们。当我尝试cd到rootfs中存在的.aws文件夹时,它会显示权限被拒绝。如何从bash中访问它们?
您所需要做的就是在WSL shell中设置一些环境变量。我假设您正在使用bash和Ubuntu。
export AWS_SHARED_CREDENTIALS_FILE=/mnt/c/Users/<your user name>/.aws/credentials
export AWS_CONFIG_FILE=/mnt/c/Users/<your user name>/.aws/config
如果你想让环境变量保持不变,请将这两行添加到~/.bashrc或/etc/bash.bashrc文件中。source /etc/bash.bashrc
或者 source ~/.bashrc
命令来使其生效。在我的看法中,按照其他答案中所述设置AWS_SHARED_CREDENTIALS_FILE
和AWS_CONFIG_FILE
似乎是最优雅的方法。然而,我刚刚遵循了AWS CLI Linux安装说明,该说明要求使用以下命令来执行下载的脚本:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
~/.aws
的WSL符号链接指向/mnt/c/Users/user/.aws
,这与使用环境变量有着相同的效果。既然这种方法也是合理的,我觉得没有必要花费精力切换到环境变量的方法。awscliv2.zip
安装程序是否进行了这些更改。我最初尝试使用sudo apt inswall awscli
在WSL中安装AWS CLI,然后才意识到它安装了v1.x而不是v2.x,所以我卸载了它并使用了这里描述的方法。或许有人可以验证这种行为,并在评论中确认是什么添加了该符号链接。
aws configure
并输入您的凭据即可。现在它们将正确地存储在WSL下。 - John Hanley