s3cmd在配置后使用时提示ERROR: S3 error: 403 (InvalidAccessKeyId): The AWS Access Key Id you provided does not exist in our records.
自己新建的ceph环境,下载了s3cmd来做客户端,使用了s3cmd --configure配置后,在使用s3cmd ls可以查看到所有的bucket,但s3cmd ls s3://xxx 具体bucket时,却提示
ERROR: S3 error: 403 (InvalidAccessKeyId): The AWS Access Key Id you provided does not exist in our records.
怎么回事呢??
好在s3cmd有-d调试命令来查看是怎么一回事,加-d后我们看看是哪出错了
DEBUG: Processing request, please wait... DEBUG: get_hostname(bucket-default): bucket-default.s3.amazonaws.com DEBUG: ConnMan.get(): creating new connection: http://bucket-default.s3.amazonaws.com DEBUG: non-proxied HTTPConnection(bucket-default.s3.amazonaws.com, None) DEBUG: format_uri(): /?delimiter=%2F DEBUG: Sending request method_string='GET', uri=u'/?delimiter=%2F', headers={'Authorization': u'AWS CH90S4D2IEQD3K86U3C7:RmpU1kbdPIuqWE4K4yT+PvjDJrw=', 'x-amz-date': 'Mon, 06 Nov 2017 08:10:28 +0000'}, body=(0 bytes) DEBUG: ConnMan.put(): connection put back to pool (http://bucket-default.s3.amazonaws.com#1) DEBUG: Response: {'data': '<?xml version="1.0" encoding="UTF-8"?>\n<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you provided does not exist in our records.</Message><AWSAccessKeyId>CH90S4D2IEQD3K86U3C7</AWSAccessKeyId><RequestId>A4DDC0C0101ADF22</RequestId><HostId>zUd+iRtm+Sad1baTA7nGXl+k/rQLMexWm+D1qCiVkeP2TJNUHINENd1aNcPiOfgED4jg7VT1YPE=</HostId></Error>',
访问到s3.amazonaws.com了,这不是我要访问的地址,那要怎么该呢?
在s3cmd --help中,我们可以看到默认使用的s3配置文件放在
Config file name. Defaults to $HOME/.s3cfg
进去后才发现host_bucket这个地址没有变化,需要手工修改,
修改成如下
host_bucket = ip地址/%(bucket)
当然,如果有域名时,可以使用下面这种格式
当配置完域名后才可以使用host_bucket = %(bucket)s.myceph.com这种bucket格式
再次s3cmd ls s3://xxxx 成功
Email:362299908@qq.com