Bash 如何修复使用curl时的证书错误?
当我尝试从dl.google.com下载时,我收到以下错误: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 |
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”您介意详细说明“安全原因”吗?