2013-07-12 48 views
2

所以,當我提出用標準的Debian 7圖像GCE實例,並出具了「的gsutil配置」命令時,出現以下消息:GSUtil的不GCE工作

[email protected]:~$ 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文件,但我不知道該怎麼辦。

我在做什麼錯?

回答

4

使用服務帳戶範圍爲E. Anderson提到是在Compute Engine透過gsutil推薦的方式,因此圖像配置爲從/ etc中的元數據服務器獲取OAuth訪問令牌/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...> 
+0

謝謝Brian。 /etc/boto.cfg重命名工作。正是我在找什麼。 –

1

您是否想要use a service account無需輸入憑據即可訪問雲存儲?

聽起來gsutil正在搜索適當範圍的OAuth訪問令牌,但沒有找到它。您可以通過gcutil或通過在UI控制檯的「項目訪問」下選擇適當的權限,通過請求storage-rwstorage-full權限來確保您的虛擬機有權訪問Google雲端存儲。對於gcutil,類似於下面的東西應該工作:

> gcutil addinstance worker-1 \ 
> --service_account_scopes=https://www.googleapis.com/auth/devstorage.read_write,https://www.googleapis.com/auth/compute.readonly 
+0

我只是跑一個基本的「gcutil addinstance 」命令來啓動實例。如果可能,我想避免服務帳戶選項。 –

1

當你配置了GCE例如,你將它設置與服務帳戶配置?當您已經配置了服務帳戶憑證時,嘗試運行gsutil配置時,舊版本的gsutil會感到困惑。

如果您已經配置了服務帳戶,則不需要運行gsutil config-您應該可以簡單地運行gsutil ls,cp等(它將使用位於其他位置的證書,而不是您的〜/ .boto文件)。

如果你真的想運行gsutil配置(例如,設置與你的登錄身份相關的憑證而不是服務帳戶憑證),你可以嘗試從http://storage.googleapis.com/pub/gsutil.tar.gz下載當前的gsutil,解開它並運行該副本gsutil。請注意,如果您這樣做,則通過運行gsutil config創建的個人憑證將基本上「隱藏」您的服務帳戶憑證(即,如果您想要再次使用您的服務帳戶憑證,則需要將.boto文件移到一邊) 。

邁克·施瓦茨,谷歌雲存儲團隊

+0

不,我沒有創建配置了服務帳戶的實例。我可能最終需要這樣做,但現在想避免它。我用最新的gcutil(3.31)來運行它,並得到了相同的結果。我運行的任何gcutil命令都具有相同的失敗消息。唯一運行的是「gcutil --help」。 –

+0

順便說一句,我用來創建實例的命令只是一個基本的「gcutil addinstance 」。當它出現時,我輸入「gsutil config」(或任何gsutil命令),我會得到這個失敗。 –

1

僅供參考我正在對gsutil進行一些更改,以便處理您遇到的問題更加順利。該版本應在未來一週或兩週內發佈。

邁克