错误记录: 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从哪里获取的?
相关推荐
蚕豆糯米饭5 小时前
Github Copilot 研发效能提升实战指南
ai·github·copilot·ai编程
AlfredZhao7 小时前
GitHub 克隆他人私有仓库:从授权到下载
github
智能制造产品经理代码提升8 小时前
Windows Git 多 GitHub 账号切换(GCM 管理凭据,不覆盖原有账号)
github
Wang's Blog9 小时前
Java框架快速入门: Spring Security+OAuth2之核心角色与授权流程
java·spring·github
dong_junshuai9 小时前
每天一个开源项目#100 OpenCodeReview:2.6万星的低噪声AI审查器
程序员·开源·github
峰向AI9 小时前
还在用 Ableton?这个 3.5K Star 的免费音序器,让你在手机上写微分音音乐
github
zho_uzhou9 小时前
Git入门概念
git
SL_staff10 小时前
战略落地的最后一公里:从目标到个人日历的自动化链路实现
java·github·全栈
凌奕10 小时前
OpenCodeReview 架构拆解:AI Code Review 为什么不能只是 Git Diff + LLM?
llm·github·agent
m4Rk_14 小时前
【论文阅读】Agent 记忆机制(70):RecMem——只在记忆反复出现时才调用 LLM 做巩固
论文阅读·人工智能·学习·开源·github