原文链接:
https://blog.csdn.net/weixin_40922744/article/details/107576748
问题描述:
在使用Git将本地仓库推送到远程仓库的时候,发生了如下错误:“fatal: Could not read from remote repository.”
问题原因:
出现这错误一般是以下两种原因:
- 客户端与服务端未生成 ssh key
- 客户端与服务端的ssh key不匹配
为解决以上问题,我们需要重新生成一次ssh key ,并重新配置一下GitHub账户即可。
解决步骤:(以下操作命令均在 Git Bash 中完成)
1. 生成新的SSH key
如果是客户端与服务端未生成ssh key,那么直接使用:
ssh-keygen -t rsa -C "youremail@example.com"`
生成新的rsa密钥即可。
如果是客户端与服务端的ssh key 不匹配,此时需要先将本地生成的 id_rsa以及id_rsa.pub这两个文件【一般在用户名下的.ssh文件夹下】删除掉,然后再使用上述指令生成新的rsa密钥。
- 补充:`ssh-keygen -t rsa -b 4096 -C "邮箱"``:这条命令的目的是为了让本地机器ssh登录远程机器上的GitHub账户无需输入密码。
ssh-keygen(基于密匙的安全验证):需要依靠密钥进行安全验证,必须为自己创建一对密钥,并把公用密钥放在需要访问的服务器上。
-t 即指定密钥的类型。密钥的类型有两种,一种是RSA,一种是DSA。
-b 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。命令中的4096指的是RSA密钥长度为4096位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
-C 表示要提供一个新注释,用于识别这个密钥。“”里面不一定非要填邮箱,可以是任何内容,邮箱仅仅是识别用的key。
2. 将SSH key 添加到 ssh-agent
使用 ssh-add ~/.ssh/id_rsa
将产生的新ssh key添加到ssh-agent
中:
- 补充: 如果出现
Could not open a connection to your authentication agent.
的错误可以使用以下两种方式解决:
eval "$(ssh-agent -s)"
或者
eval `ssh-agent`
然后再次执行 ssh-add ~/.ssh/id_rsa
指令。
3. 将SSH key 添加到你的GitHub账户
在账户选项中选择 “Settings”–>“SSH and GPG keys”–>“New SSH key”,然后打开之前新生成的id_rsa.pub文件,将密钥复制后填写到账户中【注意填写时的格式要求】:
4. 验证key
使用 ssh -T git@github.com
对ssh key 进行验证:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)