解决git clone报错的多个问题

起因

原本是想看看Github上kubeedge的相关信息,所以就git clone下kubeedge,但是发现报错了,由此踩了无数的坑~
此文是已经解决了问题之后的回溯记录,有些参考的博客已经找不到了,有些查询网址也被我关掉了,部分信息后续如果找到的话会再补充进来。

git clone报错Permission denied (publickey)

在这里插入图片描述
查了之后发现是因为公钥有问题,所以就去github中查看了一下,路径右上角头像 - Settings - SSH and GPG keys,没有公钥,所以需要添加一个新的SSH key(图片是添加后截的)
在这里插入图片描述

SSH key的获取

我查看了下对应目录 mac上目录为:~/.ssh,存在对应文件(因为我之前gitlab有生生成过对应密钥)
在这里插入图片描述
查看下对应密钥(⚠️ 此处有一个坑,后面讲)
在这里插入图片描述
将获取到的所有值添加到SSH key中
🐷 然后就 出现了新的问题
在这里插入图片描述

git clone报错kex_exchange_identification: Connection closed by remote host

看了很多博客,有一种方法可以取巧,使得成功拉取代码。但是,这种方法肯定是不行的(虽然没试,但是后续git push啥的应该还是会有同样的问题)
方法:将github中git clone中的ssh选择改为https,再clone(不推荐)
在这里插入图片描述

继续找博客,此时我恰巧看到添加SSH key时,邮箱收到邮件,告诉我 “这个key和gitlab上的一致了”。之后就考虑是key冲突导致的问题。
在这里插入图片描述

看到一个博客说的(查太多了,只保存了这句话,忘记博客地址了🤦‍♀️):

  • 如果GitLab和Github的注册邮箱是同一个邮箱,那么生成ssh keys就应该是同一个,可以直接配置到对应的GitLab和Github上可以直接使用,就没有冲突的问题了。
  • 如果GitLab仓库和Github仓库使用的不是同一个邮箱,那么由此生成的SSH keys也是不同的,这就造成了冲突。

所以说,有可能是 我gitlab和github用的邮箱不一致,导致两者冲突了。(我github很久之前是自己qq邮箱注册,gitlab是公司邮箱)

解决key冲突

因为我默认设置是gitlab的key,所以我现在只需要给github的key指定一个位置:
在~/.ssh目录下新增一个目录:mkdir githubssh

# 生成指定位置的key,需要注意邮箱为github的邮箱
ssh-keygen -t rsa -f ~/.ssh/githubssh/id_rsa.github -C "1*****9@qq.com

在这里插入图片描述
然后查看一下对应的key
在这里插入图片描述
验证下是否正常:ssh -T git@github.com,按理说应该出现hi提示 ,但是没有。看了下,说是还要进行config配置,默认使用的还是gitlab的那个key,所以要指定github的key是新增加的那个目录
在这里插入图片描述

增加配置指向

~/.ssh目录下新增并编辑一个config文件,里面内容是:

Host github.com
	HostName github.com
	IdentityFile ~/.ssh/githubssh/id_rsa.github

保存后查看下
在这里插入图片描述
再次验证下配置是否正确,成功了。
在这里插入图片描述
此时,将这个key加入SSH key,收到了如下邮件,按理说应该正常了
在这里插入图片描述
但是,又又出现了问题:ssh_dispatch_run_fatal: Connection to xx.xx.xx.xx port 22: Operation timed out
在这里插入图片描述
好吧,那就继续查找原因。

git clone报错ssh_dispatch_run_fatal: Connection to xx.xx.xx.xx port 22: Operation timed out

继续看博客,说是DNS可能有问题,我ping了下github,的确ping不通
在这里插入图片描述
然后我就需要在/etc/hosts下添加对应地址:
sudo vi /etc/hosts
我添加了这两条,但是具体还是要自己去查一下地址的(地址待我找到后更新),好像不一定一样:
151.101.1.194 github.global.ssl.fastly.net
140.82.114.3 github.com
hosts编辑完成后再ping,就成功了
在这里插入图片描述
以下就是皆大欢喜的时刻🌹,成功拉取
在这里插入图片描述

2023.04.04补充

今天想看一下开源的自动化测试框架时,发现从github上拉取代码失败,报如下的错误:
在这里插入图片描述
百度后发现,是github服务器升级,导致客服端known_hosts过期。
解决方法,删除/.ssh/known_hosts中github.com对应的记录,之后重新生成公钥并加入github中。
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用git clone命令时,可能会出现各种报错。根据你提供的引用内容,我可以看到几个常见的错误和解决方法。 错误一:"fatal: unable to access 'https://github.com/nhn/raphael.git/': Failed connect to github.com:443; Connection timed out" 这个错误表示无法连接到GitHub服务器。可能的原因是网络连接问题或防火墙设置。为了解决这个问题,你可以尝试以下方法: - 检查你的网络连接,***可能存在防火墙或代理服务器的限制。请咨询你的网络管理员,以获取更多帮助。 错误二:"error: RPC failed; curl 28 OpenSSL SSL_read: Connection was reset, errno 10054fatal: error reading section header 'shallow-info'" 这个错误可能是由***或代理服务器,请确保配置正确。 - 可以尝试设置Git的缓冲区大小,使用命令:`git config http.postBuffer 524288000`,其中524288000是缓冲区的大小。 错误三:"remote: Repository not found." 这个错误表示无法找到指定的远程仓库。可能的原因是仓库不存在或URL地址错误。为了解决这个问题,你可以尝试以下方法: - 检查你输入的仓库URL是否正确,确保没有拼写错误。 - 确认该仓库存在于远程服务器上。 综上所述,当你在使用git clone命令时遇到报错,可以先检查网络连接,确保没有网络问题。如果问题仍然存在,可以尝试调整Git的配置或咨询网络管理员获取更多帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [git clone 出现错误及解决方案](https://blog.csdn.net/weixin_43299180/article/details/118390503)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [解决 github项目clone报错 Failed connect to github.com:443; Connection](https://download.csdn.net/download/weixin_38714641/14053810)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值