这几天使用 git 命令从 GitHub 上克隆代码库或者推送代码时,可能会遇到连接失败的问题,错误信息通常是
ssh: connect to host gitclone.com port 22: Connection timed out。
然后我细细查了下,出现的原因主要有两个:
1. GitHub.com 域名被运营商指向了本地;
2. 使用了一些 GitHub 加速类工具,他们将 GitHub.com 指向了自己,也就是本地地址 127.0.0.1。
这2种情况都会导致连接中断,就会出现该提示。
其实解决方法很简单,目前有2种方法:
因为本地各种加速工具会强行修改github.com和www.github.com的指向,所以只能另开个地址来解决。
以下例子用 github.com/afyi/lhqw 举例:
使用以下2种方法时,请手动关闭git的ssh证书验证,
- 网上推荐方法 全局关闭 [不推荐]
理由:不安全,建议只给当前的项目单独加入,因为你可能会用到不同的git平台
git config --global http.sslverify "false"
- 只给当前项目关闭 [推荐]
git config http.sslverify "false"
1. 本地方法,修改hosts文件,加下面1条:
20.205.243.166 github
然后,原本用ssh clone的地址就会由变成这样
原本: [email protected]:afyi/lhqw
改后: git@github:afyi/lhqw
2. 远程方法(仅限有自己的域名的情况):
给自己的域名添加一个2级,然后cname到github.com
比如我的 del.pub 可以做如下解析
域名 | 解析方法 | 值 |
---|---|---|
github | CNAME | github.com. |
这样,每次建立项目的时候,就可以用以下地址
原本: [email protected]:afyi/lhqw
改后: [email protected]:afyi/lhqw
就可以正常使用了。
评论
Twikoo V1.6.39