因此,当我使用标准debian 7映像启动GCE实例并发出“gsutil config”命令时,它会失败并显示以下消息:
jcortez@master:~$ gsutil config
Failure: No handler was ready to authenticate. 4 handlers were checked. ['ComputeAuth', 'OAuth2Auth', 'OAuth2ServiceAccountAuth', 'HmacAuthV1Handler'] Check your credentials.
我在debian 6和centos实例上尝试了它并得到了相同的结果。然而,发布“gcutil config”工作正常。我收集我需要设置我的〜/ .boto文件,但我不知道该怎么做。
我做错了什么?
答案 0 :(得分:4)
使用服务帐户范围作为E. Anderson提及是在计算引擎上使用gsutil的推荐方法,因此图像配置为从/etc/boto.cfg:
[GoogleCompute]
service_account = default
如果您想自己管理gsutil配置,请重命名/etc/boto.cfg,gsutil config
应该有效:
$ sudo mv /etc/boto.cfg /etc/boto.cfg.orig
$ gsutil config
This script will create a boto config file at
/home/<...snipped...>/.boto
containing your credentials, based on your responses to the following questions.
<...snip...>
答案 1 :(得分:1)
您是否尝试use a service account无需输入凭据即可访问云存储?
听起来gsutil正在搜索具有适当范围的OAuth访问令牌,而不是找到一个。通过storage-rw
启动虚拟机时,或通过选择“项目访问权限”下的相应权限,您可以通过请求storage-full
或gcutil
权限来确保您的虚拟机可以访问Google云端存储UI控制台。对于gcutil
,以下内容应该有效:
> gcutil addinstance worker-1 \
> --service_account_scopes=https://www.googleapis.com/auth/devstorage.read_write,https://www.googleapis.com/auth/compute.readonly
答案 2 :(得分:1)
配置GCE实例时,是否已配置了服务帐户进行设置?当您已经配置了服务帐户凭据时,当您尝试运行gsutil config时,旧版本的gsutil会感到困惑。
如果您已经配置了服务帐户,则不需要运行gsutil配置 - 您应该能够简单地运行gsutil ls,cp等(它将使用位于〜/ .boto文件之外的凭据)
如果您确实想要运行gsutil配置(例如,设置与您的登录身份相关联的凭据,而不是服务帐户凭据),您可以尝试从http://storage.googleapis.com/pub/gsutil.tar.gz下载当前的gsutil,将其解压缩,以及运行gsutil的副本。请注意,如果您这样做,您通过运行gsutil config创建的个人凭据将基本上“隐藏”您的服务帐户凭据(即,如果您想再次使用您的服务帐户凭据,则需要将.boto文件移到一边)
Mike Schwartz,谷歌云存储团队
答案 3 :(得分:1)
仅供参考我现在正在对gsutil进行一些更改,以便更顺畅地处理您遇到的问题。该版本应在下一周或两周内发布。
麦克