首页 文章

AWS CLI列出S3存储桶使用IAM用户凭据提供SignatureDoesNotMatch错误

提问于
浏览
4

我在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 回答

  • -1

    在我的情况下,我有加密但是在加密之前发送文件的大小 . 如果您收到此错误并且您的密码和密钥是正确的,则值得仔细检查您的md5,mimetype,size和其他属性

  • 0

    只需检查运行系统的时间 . 确保它已更新

  • 1

    此错误是由于aws s3访问密钥/密钥错误造成的 .

  • 7

    找到了我的问题 . 我的环境变量中有旧的AWS密钥 . 如果您有名为的环境变量

    AWS_SECRET_ACCESS_KEY
    AWS_ACCESS_KEY_ID
    

    awscli将使用这些值而不是通过 ~/.aws/credentials 提供的值 .

    尝试运行 printenv | grep AWS 并验证是否未设置这些值 . 如果是这样,那么就跑一个

    unset AWS_SECRET_ACCESS_KEY
    unset AWS_ACCESS_KEY_ID
    

    你应该好好去 .

相关问题