一文教你解决git请求github时候超时的问题
一. 问题
错误如下
Failed to connect to github.com port 443 after 21107 ms: Timed out
前言
这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。
作者:神的孩子都在歌唱
最近不知道为啥,直接通过https请求github仓库老是报错超时,时好时坏的,网上找了一些方案是通过ssh请求,亲测可用,使用ssh后 pull和push速度都变快了
二. 当前 ssh 实现原理
SSH登录安全性由非对称加密保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥,在git中一般命名为id_rsa.pub, id_rsa
。
那么如何使用生成的一个私钥一个公钥进行验证呢?
本地生成一个密钥对,其中公钥放到远程主机,私钥保存在本地
当本地主机需要登录远程主机时,本地主机向远程主机发送一个登录请求,远程收到消息后,随机生成一个字符串并用公钥加密,发回给本地。本地拿到该字符串,用存放在本地的私钥进行解密,再次发送到远程,远程比对该解密后的字符串与源字符串是否等同,如果等同则认证成功。
三. 创建ssh key
当前Git环境所有配置 :git config --global --list
要确保你的用户名和邮箱对应的上你的github,如果对应不上的话需要通过以下命令重新配置以下就可以了
git config --global user.name "Rodma1"
git config --global user.email "你的邮箱"
然后我们通过 ssh-keygen -t rsa -C "你的邮箱"
生成SSH Key
生成的 SSH Key可以去到 C:\Users\用户名\.ssh
这个目录查看
或者可以直接通过 cd ~/.ssh 查看
注意这个id_rsa.pub文件,里面是存储了公钥,接下来我们会将里面的内容拿到github上面去添加SSH key
3.1 将ssh key加入github配置中
也就是将生成的公钥放进去
进入setting设置ssh
- Title 随意
- Key types直接选择默认
- Key 是上述第一步中
.pub
中的内容,复制其内容至此输入
3.2 测试连接
进入本地的 C:\Windows\System32\drivers\etc
,host文件配置域名解析
140.82.112.3 github.com
测试是否连通 ssh -T git@github.com
如果还没连通看看是否设置了代理,通过以下命令去取消就可以了
git config --global --unset http.proxy
git config --global --unset https.proxy
四. 验证和修改
去仓库复制ssh地址
git remote -v 查看远程地址,如果原来有了就先删除在添加
git remote remove <name>
git remote add
参考文章:https://www.jb51.net/article/241929.htm
作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客连接。
- 点赞
- 收藏
- 关注作者
评论(0)