当前位置: 首页 > article >正文

错误记录: git 无法连接到github

错误记录: git 无法连接到github

今天, 新建了一个github仓库, 但从本地怎么都push不上去.并报错

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

于是开始尝试各种方法.

一开始尝试重新创建添加ssh公钥.

详见github官方文档

然后按照github troubleshooting-ssh进行了ssh的连接测试.
报错, 大概是这样(这个不是我的报错)

Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

按照stackoverflow上的回答的进行了文件权限的修改. 使ssh连接测试可以通过了.
然而,git依然连接不上.

后来我尝试启动ssh-agent, 分表用git-bashpowershell开启了ssh-agent,并运行了ssh-add命令. 这次成功了. 从其他的terminal也可以正常push, 我执行taskkill /f /im ssh-agent.exe杀掉所有ssh-agent之后, 依然可以正常执行.

不解. 删掉新建的各种key pair之后, 决定重新创建key pair, 重走一遍流程. 然而这次又不行了.
这次的表现依然是, ssh -T git@githb.com可以正常连接, 但是git无法连接.

我不禁怀疑, 它们用的是两套.ssh路径.
然后在这篇回答的评论中, 找到了调试git调用ssh的方法.
按照这种方法, 调试之后, 果然, 用的是两套路径.
git调用ssh的时候, 环境中添加了一个名称为HOME的环境变量. 如这个回答所言.

最终问题解决了. 无需用到ssh-agent服务
然而, 为解决的两个问题是:

  1. 为什么之前可以用, 现在忽然就不能用了, 是我在什么时候修改了什么配置导致的?
  2. git为什么在调用ssh的时候, 会添加HOME环境变量, 该值是git从哪里获取的?

http://www.kler.cn/a/589036.html

相关文章:

  • Apache Pol (excel)
  • 算法——图论——关键活动
  • Python的那些事第四十五篇:继承自Nose的测试框架Nose2
  • 区间预测 | Matlab实现QRBiTCN分位数回归双向时间卷积神经网络注意力机制时序区间预测
  • Ubuntu 一站式初始化笔记
  • 【sql靶场】第13、14、17关-post提交报错注入保姆级教程
  • JVM常用概念之超态虚拟调用
  • 解析GNGGA数据,C语言单片机
  • AI是如何实现屏幕触控防水? 实测华为畅享70X
  • Redis监控:从睁眼瞎到千里眼的进化史
  • 【go语言圣经1.6】
  • 19.如何使用 pandas 处理大型 Excel 文件:并行读取工作表
  • pytorch小记(八):pytorch中有关于.detach()的浅显见解
  • PostgreSQL技术内幕26:PG聚合算子实现分析
  • 【VBA】excel获取股票实时行情(历史数据,基金数据下载)
  • 量子计算与医疗诊断的未来:超越传统的无限可能
  • 深度学习篇---Opencv中Haar级联分类器的自定义
  • Java 大视界 -- 基于 Java 的大数据机器学习模型的迁移学习应用与实践(129)
  • 五大基础算法——贪心算法
  • 各省水资源平台 水资源遥测终端机都用什么协议