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

错误记录: 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从哪里获取的?

相关文章:

  • 【恒流源cc与恒压源cv典型电路解析】
  • CVE-2018-2628(使用 docker 搭建)
  • RUOYI框架在实际项目中的应用一:ruoyi简介
  • 用vue3显示websocket的状态
  • # RAG 框架 # 一文入门 全链路RAG系统构建与优化 —— 架构、策略与实践
  • DeepSeek:开启机器人智能化的革命性突破
  • 计算机视觉|Swin Transformer:视觉 Transformer 的新方向
  • 基于springboot的仓库管理系统
  • 鸿蒙Next开发中的坑与问题总结
  • Flutter中的const和final的区别
  • Linux的部分常用基础指令
  • 一周学会Flask3 Python Web开发-SQLAlchemy删除数据操作-班级模块
  • 算法日常刷题笔记(5)
  • 人工智能中神经网络是如何进行学习的
  • asp.net webform组件和常见的html组件的使用
  • 【设计模式】】工厂模式
  • R 语言科研绘图 --- 密度图-汇总
  • Spring Boot整合Sa-Token极简指南
  • C++ QT零基础教学(二)
  • 六种最新优化算法(TOC、MSO、AE、DOA、GOA、OX)求解多个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码
  • 河北6人在河道倒污泥被控污染环境案撤诉后,已拿到国赔决定书
  • 述评:赖清德当局上台一年恶行累累
  • 一季度支持科技创新和制造业发展减税降费及退税4241亿元
  • 广东进入“倒水模式”,珠江防总、珠江委已启动Ⅳ级应急响应
  • 国家统计局:消费对我国经济增长的拉动有望持续增长
  • 山东发布高温橙警:预计19日至21日局地可达40℃