小编UKa*_*atz的帖子

使用bash从S3下载私有文件

我试图让以下bash脚本工作(从http://curl.haxx.se/mail/archive-2014-10/0006.html#replies复制):

#!/bin/sh 
file=path/to/file 
bucket=your-bucket 
resource="/${bucket}/${file}" 
contentType="application/x-compressed-tar" 
dateValue="`date +'%a, %d %b %Y %H:%M:%S %z'`" 
stringToSign="GET 
${contentType} 
${dateValue} 
${resource}" 
s3Key=xxxxxxxxxxxxxxxxxxxx 
s3Secret=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
signature=`/bin/echo -n "$stringToSign" | openssl sha1 -hmac ${s3Secret} -binary |      base64` 
curl -H "Host: ${bucket}.s3.amazonaws.com" \
-H "Date: ${dateValue}" \
-H "Content-Type: ${contentType}" \ 
-H "Authorization: AWS ${s3Key}:${signature}" \ 
https://${bucket}.s3.amazonaws.com/${file}
Run Code Online (Sandbox Code Playgroud)

无论我做什么,我都会收到SignatureDoesNotMatch错误.

任何关于如何解决这个问题的想法将不胜感激.

bash scripting amazon-s3

12
推荐指数
3
解决办法
1万
查看次数

标签 统计

amazon-s3 ×1

bash ×1

scripting ×1