【问题标题】:SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443SSL_connect: SSL_ERROR_SYSCALL 连接到 github.com:443
【发布时间】:2018-08-05 20:25:19
【问题描述】:

几天以来,我遇到了 Mac OS High Sierra 10.13.3 的问题: 当我运行git clonegit clone github.com/xxx.git failed 它打印:

LibreSSL SSL_connect: SSL_ERROR_SYSCALL 连接到 github.com:443

npm i 命令也有同样的问题 即使我尝试像这样安装 brew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

我也试过alternative setup: 一样。

【问题讨论】:

  • 这件事从几天前就发生在我身上。大多数情况下,第一次失败,第二次,第三次成功……
  • 嗨@EmileCantero,你解决问题了吗?从最后两周开始,我也遇到了同样的错误......
  • 嗨,伙计们,我已经有一段时间了,我不确定我是如何解决它的,但我确定我会解决它,所以我会去寻找你并尽快返回正确的信息
  • 这是 MacOS 的一般问题。有时会发生这种情况,您不能再使用 SSL。有时您无法再在浏览器中打开任何 URL。目前没有找到任何解决方案...

标签: git npm openssl homebrew


【解决方案1】:

我在使用wget ... 时遇到了类似的错误,在互联网上进行了多次无果的搜索后,我发现在将主机名解析为 IPv6 地址时发生了这种错误。我通过比较两台机器上wget ... 的输出发现了这一点,一台正在解析为 IPv4 并在那里工作,另一台正在解析为 IPv6,但在那里失败了。

所以我的解决方案是在 macOS High Sierra 10.13.6 上运行 networksetup -setv6off Wi-Fi。 (我在page 中发现了这个命令)。

希望对你有所帮助。

【讨论】:

  • 关闭 ipv6 会产生哪些不利影响?
  • 我在我的笔记本电脑中关闭了 IPV6,从那以后我没有遇到任何我知道的问题或限制,所以我会一直关闭它。如果一切正常,那么我就不会再费心打开 IPV6 了。
  • 这解决了我的问题。如果您担心,可以通过运行 networksetup -setv6automatic Wi-Fi 重新打开 v6。
  • 这已经让我在过去的几周里疯了。在此之前尝试在浏览器中访问 visualstudio 站点一直很好,但最重要的是,每 10 次左右的调用中只有 git 命令工作一次。不知道两者之间发生了什么变化,但我认为之前启用了 ipv6。
  • 天啊。我不敢相信我浪费了这么多时间看着超级慢煮什么都不做……这到底是什么?!谢谢你的回答....
【解决方案2】:

同样的问题,原来是我的代理设置配置错误,这里是如何检查和删除它们。

首先打开你的 git 配置文件。

vi ~/.gitconfig

并找出是否设置了[http][https] 部分。

由于国内访问Github慢,我之前设置了git的代理,但是最近我改变了我的本地代理端口,但是我忘记了我的git设置。

如果您有不正确的代理设置并决定删除它,只需执行:

git config --global --unset http.proxy
git config --global --unset https.proxy

一切都会好起来的。

【讨论】:

    【解决方案3】:

    我刚刚关闭了 VPN,它解决了这个问题。

    【讨论】:

      【解决方案4】:

      由于您使用的是LibreSSL,请尝试使用OpenSSL 而不是安全传输重新安装curl


      最新酿造

      所有选项都已从curl 公式中删除,所以现在您需要通过以下方式安装:

      brew install curl-openssl
      

      老酒

      --with-openssl安装curl

      brew reinstall curl --with-openssl
      

      注意:如果上述方法不起作用,请检查brew options curl 以显示install options specific to formula


      以下是一些其他建议:

      • 确保您没有使用http_proxy/https_proxy
      • 使用-vcurl 以获得更详细的输出。
      • 尝试在/usr/bin/curl 使用BSD curl,运行which -a curl 将它们全部列出。
      • 确保您没有在防火墙中意外阻止 curl(例如 Little Snitch)。
      • 或者使用wget

      【讨论】:

      • brew 会失败,因为它依赖于 LibreSSL 和 curl。
      • brew reinstall curl --with-openssl 获取错误:无效选项:--with-openssl
      • 所有选项都已从 curl 公式中删除,因此您现在需要 brew install curl-openssl
      • 我目前正面临一个类似的问题(使用 Homebrew)并看到了您的帖子。你说“因为你正在使用 LibreSSL”,你是什么意思?我没有明确使用 LibreSSL 或 OpenSSL,只是 brew。有没有办法让我在 LibreSSL 或 OpenSSL 之间进行选择,或者指定 Brew 应该使用哪种风味?
      【解决方案5】:

      一个简单的重新启动为我修复了它。我不确定问题出在哪里,因为我使用了这么多软件,但我有一种感觉是 VPN 软件,或者可能是因为我让我的笔记本电脑经常处于睡眠状态并且某些文件已损坏。我真的不知道,但重启解决了它。

      【讨论】:

        【解决方案6】:

        来自https://github.com/Homebrew/brew/issues/4436#issuecomment-403194892

        通过设置这个环境变量解决了这个问题:

        export HOMEBREW_FORCE_BREWED_CURL=1
        

        【讨论】:

        • 从 bash 终端运行时得到 export: `=1': not a valid identifier
        • @QHarr 你一定写过:export $HOMEBREW_FORCE_BREWED_CURL=1 这是完全不同的。
        • @dlamblin 谢谢
        【解决方案7】:

        我有一个类似的问题,我只是发现在我的情况下,它可能是造成问题的防病毒软件。

        在尝试从 github.com 提取一些数据时,有时我遇到了同样的错误。

        我知道卡巴斯基正在拦截 SSL 连接以检查站点中的恶意内容,我决定禁用它,但我发现 KAV 挂起并且没有真正响应,所以我关闭了卡巴斯基并尝试连接到 github .com 再次,唉!我能够成功连接到 GitHub。

        所以在你的情况下,它可能是一个类似的问题。

        【讨论】:

        • 我确认:MacOS 上的卡巴斯基杀毒软件也是我的罪魁祸首!
        【解决方案8】:

        1) 尝试创建一个新分支并推送。工作了几次,但又遇到了同样的错误。

        2) 在推送代码之前运行这两个语句。我所做的只是取消代理。

        $ git config --global --unset http.proxy
        $ git config --global --unset https.proxy
        

        3) 几周后再次面临这个问题。我已经更新了自制软件,它得到了修复

        【讨论】:

        • 这真的真的真的帮助了我在 Windows10 背后的企业代理。我不明白为什么,但是这样做会使凭据重新开始工作。感谢您的回答!
        【解决方案9】:

        如果其他解决方案都无法解决您的问题,请尝试直接编辑 .gitconfig 文件。就我而言,我为 HTTP、HTTPS、SOCK 使用 VPN 代理。我的本地代理端点是 127.0.0.1:4780

        .gitconfig 文件

        [user]
            name = xxx
            email = xxx@xxx.com
        [remote "origin"]
            proxy = http://127.0.0.1:4780
        [http]
            proxy = http://127.0.0.1:4780
        [https]
            proxy = http://127.0.0.1:4780
        

        请务必使用代理端点填写 [remote "origin"] 部分。

        【讨论】:

          【解决方案10】:

          与 KAV 相同的问题。重启它解决了pb。

          【讨论】:

          • 这不是答案,请考虑在问题中添加评论
          • KAV = 卡巴斯基杀毒软件
          【解决方案11】:

          我使用 ClashX 1.30.2,我可以在 Google Chrome 中访问 google.com。

          遇到这个问题后,我点击“复制shell命令”

          我执行上面复制的命令行。

          export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890

          它解决了这个问题。

          
          Before I encounted the issue.
          ➜  octopus brew services start jenkins-lts
          ==> Tapping homebrew/services
          Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services'...
          fatal: unable to access 'https://github.com/Homebrew/homebrew-services/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
          Error: Failure while executing; `git clone https://github.com/Homebrew/homebrew-services /usr/local/Homebrew/Library/Taps/homebrew/homebrew-services --origin=origin` exited with 128.
          Error: Failure while executing; `/usr/local/bin/brew tap homebrew/services` exited with 1.
          

          设置代理后,我解决了这个问题。

          ➜  octopus export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
          ➜  octopus brew services start jenkins-lts
          ==> Tapping homebrew/services
          Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services'...
          remote: Enumerating objects: 1174, done.
          remote: Counting objects: 100% (53/53), done.
          remote: Compressing objects: 100% (43/43), done.
          remote: Total 1174 (delta 19), reused 13 (delta 9), pack-reused 1121
          Receiving objects: 100% (1174/1174), 342.45 KiB | 2.22 MiB/s, done.
          Resolving deltas: 100% (496/496), done.
          Tapped 1 command (41 files, 432.8KB).
          ==> Successfully started `jenkins-lts` (label: homebrew.mxcl.jenkins-lts)
          

          【讨论】:

            【解决方案12】:

            我建议更新 git。如果您下载了.pkg,请务必先将其卸载。

            【讨论】:

            • 升级 git 对我有用。我刚刚跑了: brew upgrade git
            【解决方案13】:

            我在尝试从企业存储库克隆时遇到了这种情况,只需重新启动终端即可解决。

            【讨论】:

              【解决方案14】:

              对我来说,问题似乎是如何在我的本地计算机上设置用户。使用命令
              git push -u origin master
              导致错误。移除开关-u 以拥有
              git push origin master
              为我解决了这个问题。想象用户设置如何导致与 LibreSSL 相关的错误可能会令人恐惧。

              【讨论】:

                【解决方案15】:

                对我来说,这是由于 K8S 入口中未启用 SSL 证书造成的。希望这可以帮助某人

                【讨论】:

                  【解决方案16】:

                  我在使用带有代理的 git 时也遇到了这个问题,根据我的经验,有两种方法可以解决这个问题。我会推荐第二种方式。

                  1. git config --global sslVerify false(相当于如下编辑~/.gitconfig)
                  [http]
                  proxy = http://127.0.0.1:1234
                  sslVerify = false
                  

                  1. 将 http 代理替换为 socks5 代理
                  [http]
                      proxy = socks5h://127.0.0.1:4567
                  

                  NB socks5h:// 中的“h”表示在代理端使用远程 DNS 而不是本地 DNS,这通常比使用更快地通信普通 socks5:// 如果您的本地 DNS 混乱。

                  【讨论】:

                    【解决方案17】:

                    大家好,我找到了关于这个 github 问题的解决方案,它对我有用 no longer able to use private ssh key

                    尝试以下这些步骤:

                    1 - 尽可能使用 HTTPS。这将完全避免使用 SSH 密钥。
                    2 - 手动将 SSH 密钥添加到正在运行的 SSH 代理。见manually generate ssh key
                    3 - 如果另外两个不起作用,请删除所有 ssh 密钥并生成一些新的密钥,这就是我在数周的问题后所做的。

                    希望对你有所帮助..

                    【讨论】:

                      【解决方案18】:

                      如果有人在使用 Visual Studio Code 中的集成终端时遇到此问题,那么它很有可能正在更新。重新启动 Visual Studio Code,您可能会看到“新版本”选项卡,它应该会重新开始工作。

                      【讨论】:

                        【解决方案19】:

                        我遇到了同样的问题。这是我的做法

                        首先,删除所有与自制软件相关的本地文件,您之前的安装过程可能会损坏。

                        curl https://raw.githubusercontent.com/Homebrew/install/master/uninstall > uninstall_brew.rb
                        ruby uninstall_brew_rb
                        

                        然后,如果您使用它,请在命令行中导出您的 VPN 代理。

                        最后,重新安装自制软件

                        /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
                        

                        【讨论】:

                          【解决方案20】:

                          对我来说,这是针对 android studio 的,我通过转到 Windows 设置-> 排除了一些文件夹 病毒和威胁防护设置 --> 排除 bcoz 在 gradle 构建期间显示有关防病毒的警告。 文件夹取自此链接https://developer.android.com/studio/intro/studio-config?utm_source=android-studio#antivirus-impact
                          排除那些提到的文件夹后,我尝试执行 git pull ,但没有发生,然后我从排除的文件夹中删除,git pull 开始工作。

                          【讨论】:

                            【解决方案21】:

                            enter image description here

                            我使用了 mac 10.14.6 .add github.com in wifi proxy setting

                            【讨论】:

                              【解决方案22】:

                              1.打开:https://www.ipaddress.com/ 2.输入并获取ip:raw.githubusercontent.com 3.vi等/主机 4.然后将这样的ip复制到hosts文件中: 例如: 199.232.68.133 raw.Githubusercontent.com 5.git 再次克隆。

                              【讨论】:

                                【解决方案23】:

                                您应该通过命令行或 API 创建个人访问令牌以代替密码。

                                我遇到了同样的错误。终端说:

                                请查看https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/了解更多信息。

                                所以,this 为我工作。

                                【讨论】:

                                  【解决方案24】:

                                  在我的情况下,由于令牌过期和generating new token 之后,我收到了消息。我做了如下更新:

                                  git remote set-url origin https://gitusername:token@github.com/gitusername/repository.git
                                  

                                  【讨论】:

                                    【解决方案25】:

                                    我在提取代码时收到此错误“OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to gitlabee.dt.renault.com:443”。

                                    解决方案:请检查 GitLab 是否可用。一旦 GitLab 可用,请再试一次。

                                    【讨论】:

                                      猜你喜欢
                                      • 1970-01-01
                                      • 2022-10-05
                                      • 1970-01-01
                                      • 2022-07-31
                                      • 1970-01-01
                                      • 2019-03-14
                                      • 1970-01-01
                                      • 2018-10-04
                                      • 1970-01-01
                                      相关资源
                                      最近更新 更多