我需要在代理后面运行以下命令:
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
Run Code Online (Sandbox Code Playgroud)
返回与 SSL 相关的错误(因为代理将其证书放在中间)。我使用了“--insecure”并重新运行,这在一定程度上有效,但是 - 后来在该安装脚本中,再次调用curl,并返回相同的SSL错误。
我在 ~/.curlrc 中添加了“不安全”,以便调用脚本会忽略 SSL 错误..但是它们仍然会被抛出..如果我从一开始就删除 --insecure 它仍然有效(验证 .curlrc 工作)..所以我想这一定是权限问题..
运行“chmod 666 .curlrc”并使用“ls -l”验证所有的 rw - 相同的结果..如何忽略这些 SSL 错误?
小智 5
您的问题是您以自己的身份卷曲脚本,然后该脚本以 root 身份运行:
| sudo bash
Run Code Online (Sandbox Code Playgroud)
当您将某些内容通过管道传输到 时sudo bash,您将以 root 身份运行 bash,并且 bash 将以curlroot 身份启动所有子进程(包括脚本内的 s)。由于 root 的帐户不关心您的.curlrc,因此它不会读取它,也不会应用您的--insecure. 您有几个选择:
curl(撰写本文时为第 137 行和第 182 行).curlrc为 root创建一个文件/root/.curlrcinsecure编辑:
顺便说一句,通常不建议在您的主目录中放置特定于应用程序的配置文件o+wr,因为这将允许任何登录系统的人修改您的个人配置。您说您运行了,chmod 666 .curlrc但这是不可取的,因为系统上的任何人(假设您的主目录是o+rx)都可以修改您的curl配置,包括设置特定于curl的socks代理以及它们MiTM您的所有curl流量。这尤其危险,因为他们可能会剥离 SSL,而您不会注意到,因为您已经忽略了自己的系统代理的不安全连接。
| 归档时间: |
|
| 查看次数: |
1614 次 |
| 最近记录: |