Bash 如何修复使用curl时的证书错误?

Bash 如何修复使用curl时的证书错误?,bash,curl,cygwin,gcutil,Bash,Curl,Cygwin,Gcutil,当我尝试从dl.google.com下载时,我收到以下错误: 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 |

当我尝试从dl.google.com下载时,我收到以下错误:

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.
阅读这个问题:一个选择是 “在wget命令行上添加--no check certificate选项”,但是由于我使用的是curl而不是wget,那么上面的命令是否也有类似的选项

更新:我已经试过了

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

但是同样的错误,代理/防火墙会阻止连接吗?

原始答案

您正在搜索
-k
或(长)
--不安全的
。。手册页是您的朋友;):

-k、 ——不安全 (SSL)此选项明确允许curl执行“不安全”的SSL连接和传输。 通过使用安装的CA证书捆绑包,尝试使所有SSL连接安全 默认情况下。这会使所有被视为“不安全”的连接失败,除非使用-k,--unsecure。 有关更多详细信息,请参阅此联机资源:

更新问题后编辑:

您表明您已经在这里使用了
-k
选项。我深入研究了您的代码和要完成的任务:

您正在尝试从google服务器下载shell脚本。他们将拥有受信任的证书,这意味着您需要删除
-k
,因为它不安全(如名称)


下载后,将脚本直接传送到
bash
。所以第一个问题是:脚本下载成功了吗?(您能将脚本发布到某个粘贴箱中,以便为我验证这一点吗?)将在回答此问题后继续解释

谢谢,请参阅问题更新。代理/防火墙会阻止连接吗?好的,我看到你的更新。这与防火墙无关。这是安装脚本的问题。出于安全原因,我会删除该示例中的
-k
“出于安全原因,我会删除该示例中的-k”您介意详细说明“安全原因”吗?