我在Ubuntu 16.04 LTS上使用AWS cli,我试图列出所有桶 . 在aws configure中,我输入了IAM用户访问密钥和IAM用户密钥 . 此IAM用户有权列出存储桶并可以在控制台中列出存储桶 . 但是使用带有这些密钥的AWS cli并运行命令 - aws s3 ls 它给了我这个错误 .
A client error (SignatureDoesNotMatch) occurred when calling the ListBuckets operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.
我已经创建了一个策略来列出这个特定IAM用户的存储桶 .
我想执行进一步的同步操作,并使用此IAM用户凭据通过shell脚本使所有文件进行公共操作,并且不想使用root凭据 .
4 回答
在我的情况下,我有加密但是在加密之前发送文件的大小 . 如果您收到此错误并且您的密码和密钥是正确的,则值得仔细检查您的md5,mimetype,size和其他属性
只需检查运行系统的时间 . 确保它已更新
此错误是由于aws s3访问密钥/密钥错误造成的 .
找到了我的问题 . 我的环境变量中有旧的AWS密钥 . 如果您有名为的环境变量
awscli将使用这些值而不是通过
~/.aws/credentials
提供的值 .尝试运行
printenv | grep AWS
并验证是否未设置这些值 . 如果是这样,那么就跑一个你应该好好去 .