让git clone失败不再成为你的烦恼

目录

一、 下面就来说说我最总的解决方法

二、 设置ssh代理(终极解决方案)

①配置ssh key

② 配置一个config就可以了

③验证


前言:

        因为要部署模型的需要,需要把文件都上传到github上,本来是挺简单的一个事情,到头来却成为最困难的一件事,因为我遇到了下面这两种情况,无数次的失败,让我崩溃😩。

fatal: unable to access 'https://github.com/lyyilin/poem-soul.git/': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

一、 下面就来说说我最总的解决方法

①网上一个博主说:解决方法

   因为git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,所以取消git的https代理即可,不行再取消http的代理。
   原因还有一个,当前代理网速过慢,所以偶尔会成功,偶尔失败。

解决方法:

.  在项目文件夹的命令行窗口执行下面代码,然后再git commit 或git clone
取消git本身的https代理,使用自己本机的代理,如果没有的话,其实默认还是用git的

//取消http代理
git config --global --unset http.proxy
//取消https代理 
git config --global --unset https.proxy

但是我还是失败了!!!

②最终成功的解决方案

大家可以参考这个

二、 设置ssh代理(终极解决方案)

设置ssh代理前,请确保你已经设置ssh key。完成设置

①配置ssh key

步骤1:在本地机器上打开 Power Shell 终端。在终端中,运行以下命令来生成 SSH 密钥对:(如下图所示)

ssh-keygen -t rsa

 

步骤2: 您将被提示选择密钥文件的保存位置,默认情况下是在 ~/.ssh/ 目录中。按 Enter 键接受默认值或输入自定义路径。

步骤3:公钥默认存储在 ~/.ssh/id_rsa.pub,可以通过系统自带的 cat 工具查看文件内容:(如下图所示)

cat ~\.ssh\id_rsa.pub

~ 是用户主目录的简写,.ssh 是SSH配置文件的默认存储目录,id_rsa.pub 是 SSH 公钥文件的默认名称。所以,cat ~\.ssh\id_rsa.pub 的意思是查看用户主目录下的 .ssh 目录中的 id_rsa.pub 文件的内容。

 步骤4:将公钥复制到剪贴板中,然后回到 ,点击配置 SSH Key。如下图所示:

添加即可

 

② 配置一个config就可以了

# Linux、MacOS
vi ~/.ssh/config
# Windows 
到C:\Users\your_user_name\.ssh目录下,新建一个config文件(无后缀名)

将下面内容加到config文件中即可

对于windows用户,代理会用到connect.exe,你如果安装了Git都会自带connect.exe,如我的路径为"D:\git\Git\mingw64\bin\connect.exe"

我的端口是7890 ,我使用了clash,按自己的端口修改即可。

#Windows用户,注意替换你的端口号和connect.exe的路径
ProxyCommand "C:\APP\Git\mingw64\bin\connect" -S 127.0.0.1:7890 -a none %h %p

#MacOS用户用下方这条命令,注意替换你的端口号
#ProxyCommand nc -v -x 127.0.0.1:51837 %h %p

Host github.com
  User git
  Port 22
  Hostname github.com
  # 注意修改路径为你的路径
  IdentityFile "C:\Users\Your_User_Name\.ssh\id_rsa"
  TCPKeepAlive yes

Host ssh.github.com
  User git
  Port 443
  Hostname ssh.github.com
  # 注意修改路径为你的路径
  IdentityFile "C:\Users\Your_User_Name\.ssh\id_rsa"
  TCPKeepAlive yes

 

③验证

保存后文件后测试方法如下,返回successful之类的就成功了。

# 测试是否设置成功
ssh -T git@github.com

④完结

之后都推荐走ssh拉取代码,再github 上选择clone地址时,选择ssh地址,入下图。这样git push 与 git clone 都可以直接走代理了,并且不需要输入密码。

在此感谢这位博主:

https://zhuanlan.zhihu.com/p/481574024icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/481574024

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值