2013-12-12 26 views
0

當我試圖從dl.google.com下載我收到此錯誤:如何使用curl修復證書錯誤?

ERROR: The certificate of `dl.google.com' is not trusted. 
ERROR: The certificate of `dl.google.com' hasn't got a known issuer. 

這裏是整個命令輸出

$ curl https://dl.google.com/dl/cloudsdk/release/install_google_cloud_sdk.bash 
| bash 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
100 3607 100 3607 0  0 2820  0 0:00:01 0:00:01 --:--:-- 3125 
bash: line 77: [: Files: binary operator expected 
wget -O - https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz > tm 
p.4wwaU246zk/google-cloud-sdk.tar.gz 
--2013-12-12 11:05:41-- https://dl.google.com/dl/cloudsdk/release/google-cloud- 
sdk.tar.gz 
Resolving my.proxy.com my.proxy.com)... x.x.x.x 
Connecting to my.proxy.com (my.proxy.com)|x.x.x.x|:1234... conne 
cted. 
ERROR: The certificate of `dl.google.com' is not trusted. 
ERROR: The certificate of `dl.google.com' hasn't got a known issuer. 

閱讀了這個問題:How do I fix certificate errors when running wget on an HTTPS URL in Cygwin?一個選項是 「添加 - 在wget命令行上沒有檢查證書選項「但由於我使用curl而不是wget,上面的命令是否有類似的選項?

更新:我已經試過

curl -k https://dl.google.com/dl/cloudsdk/release/install_google_cloud_sdk.ba 
sh | bash 

但同樣的錯誤,可以在代理/防火牆阻止連接?

回答

1

原來的答案

您正在搜索-k或(長)--insecure。該手冊頁是你的朋友):

-k,--insecure (SSL)該選項明確允許curl執行「不安全的」SSL連接和傳輸。 默認情況下,所有SSL連接都嘗試使用安裝的 安裝的CA證書包進行安全保護。這使得所有認爲「不安全」的連接都會失敗,除非使用-k,--insecure。 看到這個在線資源,爲進一步的細節:http://curl.haxx.se/docs/sslcerts.html

編輯更新後的問題:

你表明你已經在使用-k選擇這裏。我深入瞭解了您的代碼和要完成的任務:

您正在嘗試從谷歌服務器下載shell腳本。他們有可信證書,意味着你需要刪除-k,因爲它是不安全的(如名稱)。

下載後,您將腳本直接輸送到bash。所以第一個問題是:腳本的下載是否成功? (你可以將腳本發佈到一些pastebin,爲了能夠爲我驗證這個問題嗎?)在回答這個問題之後會繼續解釋

+0

謝謝,請參閱問題更新。代理/防火牆可以阻止連接嗎? –

+0

好吧,我看到你的更新。這與防火牆無關。這是安裝腳本的問題。 **出於安全原因,我會刪除該例中的'-k' ** – hek2mgl

+0

「出於安全原因,我將刪除該例中的-k」您是否介意闡述「安全原因」? –