1.前情提要
在自己本地创建了vue的项目,然后想要将它传到github上面去管理,但是总是没法关联github上面建的仓库,出现以下提示
fatal: unable to access 'https://xxxxxxxxx.git/': Failed to connect to go.googlesource.com port 443: Operation timed out
然后查了很多资料,说是要修改 /etc/hosts 文件,然后我就做了以下配置
#github
140.82.113.3 github.com
140.82.113.3 www.github.com
162.220.12.226 github.global.ssl.Fastly.net
185.199.110.153 assets-cdn.github.com
我以为这样就真的就ok了,因为我发现 我可以从github上面克隆下来别人的项目了。so easy ? 然而,事情并没有这么简单,当我在github上创建了仓库,想要将自己的代码提交的时候,出现了很多问题
- 无法读取远程仓库
- 远程仓库不存在
- 判断你是否有权限
诸如以上类似的问题,我根本就不知道这个东西怎么解决。然后,又开始了查资料 有人说,用ssh,这确实是一个不错的思路。
然后我又开始了新的征程-这是一段怎样的辛酸呢?这里就暂时不谢工代码了,因为我发现网上的教程一搜一大片,但是好像不是过时了,就是有这样那样的问题
-
在本地生成ssh秘钥和公钥
-
将公钥存到GitHub上面的配置里面
一通操作之后,最后出现了什么问题呢? 竟然 说 22 端口没有打开,
connect to host github.com port 22: Operation timed out
嗯~,然后我就用这个错再次百度 解决方案有两种
修改 .ssh/config 里面的 Port 为 443
修改hosts 配置一下 修改最大访问数之类的东西
我在这里是修改了 端口号
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
Port 443
我以为这就ok了然而 直接报错了。。。
ssh_exchange_identification: Connection closed by remote host
那我这一下午岂不是要白忙活了 ,不不不。
2.正片开始
首先,我们来做个梳理
实现将本地代码上传到github 是不是有两种方案
-
设置代理 (就是修改hosts文件) 这样行不通
-
使用ssh 这样貌似是可行的
那么我们来做个假设,假设他就是可行的 ,我们在整个操作中忽略了什么呢?
我们之前修改的hosts文件并没有改回去 应该是两种方法 冲突了。
然后 然后 修改hosts文件 给他改回去
#github
#140.82.113.3 github.com
#140.82.113.3 www.github.com
#162.220.12.226 github.global.ssl.Fastly.net
#185.199.110.153 assets-cdn.github.com
然后我们开始重新配置ssh 之前虽然有配置ssh ,但是并不能确保他的正确性,所以让我们重新来过,前面已经说过,貌似别人写的教程总会遗漏点什么东西,所以,那就来个官网
打开个人中心里面的设置
这里是已经添加成功的截图
在他下边会有这么一个小tips 这就是官网给出的教程啊
https://docs.github.com/en/authentication/connecting-to-github-with-ssh
来到这个文档之后,发现他是英文的,这个对于我来说就不是特别的友好了,所以给他翻译 (ps:谷歌浏览器本身是可以翻译的,然后他自己这里也提供了语言选择的功能 )
哦豁,那岂不是美滋滋啊。 然后后续的操作就是完全按照这个步骤来的
当然在此过程中,以下内容是值得关注的
最后执行
ssh -T git@github.com
若果出现以下提示,那就大功告成了!
tips:
Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.