0


github SSH pull/push 连接超时/连接失败解决方案

周五开了个仓库,刚clone下来就出去玩了,周一回来写完代码发现怎么也推不上去,报错

ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.

看了几个群的聊天,发现今天不少同学遇到同样的问题,遂进行了ssh连接测试。

ssh -T [email protected]
ssh: connect to host github.com port 22: Connection time out

估摸着是github又双叒叕被ban了,好吧,这里想到两个解决方案(本文基于windows系统)

1. 让SSH走代理【前提是你的代理不封禁22端口】
2. 用SSH over HTTPS port (让SSH走443端口)【前提是你的网络环境可以直连https://github.com】
3. 两者都用上,无视一切牛鬼蛇神

!注意,本文推荐使用第二种解决方案!

方案一 让SSH走代理

相信大家用github https 走代理的配置文章看了不少了,但是https每次推送/拉取都要做web认证,真的很烦...

步骤1 win+E 打开文件资源管理器 进入 C:\users 找到个人用户文件夹中的.ssh

注1(该文件夹可能是隐藏文件夹 点击上面的查看,显示隐藏的文件夹)

注2(对于个人文件夹 见下图 我的用户名是17437 所以我的个人用户文件夹是 17434)

注3(你要实在不知道路径 可以摁win+R 输入powershell [回车] 打开powershell 输入 cd ~ [回 车] 然后输入 pwd [回车] 此时显示的路径就是你的个人文件夹地址)

如果理想的话,你应该看到以下文件

这时候,我们打开config文件进行修改,如果你没有这个文件,创建一个就行,注意这个文件没有后缀名

右键,选择vscode打开,或者使用记事本,都可以

Host github.com
    ProxyCommand "C:\Program Files\Git\mingw64\bin\connect.exe" -S 127.0.0.1:7890 %h %p

这里我参考了在 Windows 系统上给 ssh 设置代理 | 炎忍的博客 (imyan.ren) 写的很清楚为什么要这样填写,在这里对大佬表示感谢~

如果顺利的话,再进行ssh连接测试会发现连接成功

如果不顺利的话(比如你的代理不允许代理22端口,或者你端口输入错了,(或者你根本没有代理软件)你可能得到以下结果

不要灰心,我们看方案二

方案二 用SSH over HTTPS port

这里我参考了github自己的文档 在 HTTPS 端口使用 SSH - GitHub 文档

总而言之,就是把方案一中提到的config文件修改为

Host github.com
    HostName ssh.github.com
    User git
    Port 443

如果你顺利的话,我们会得到这样的结果

如果不顺利的话,你可能仍然是超时,不要灰心,我们来看方案三

方案三 两者都用上,无视一切牛鬼蛇神

这里我把上述两个方案修改的部分进行一个缝合,即将方案一种提到的config文件修改为

Host github.com
    ProxyCommand "C:\Program Files\Git\mingw64\bin\connect.exe" -S 127.0.0.1:7890 %h %p
    HostName ssh.github.com
    User git
    Port 443

如果你顺利的话,我们会得到这样的结果

如果你不顺利的话,那我猜测你是不是从来没有用过SSH连接github?嘿嘿 这就不是本文涉及的部分了,你可以参考关于 SSH - GitHub 文档 你也可以在视频下面评论,大家一起讨论~

祝你成功~

今天没啥事,录了个视频介绍这篇文章,视频当中使用终端+vscode操作,比较顺手啦~

github SSH pull/push 连接超时/连接失败解决方案_哔哩哔哩_bilibili

标签: github ssh 运维

本文转载自: https://blog.csdn.net/qq_39522310/article/details/135923081
版权归原作者 我真心卡 所有, 如有侵权,请联系我们删除。

“github SSH pull/push 连接超时/连接失败解决方案”的评论:

还没有评论