Permission denied (publickey). fatal: Could not read from remote repository.

将本地代码推送到远程分支报错:Permission denied (publickey). fatal: Could not read from remote repository.

确保已经添加了正确的 SSH 密钥。可以使用以下命令检查 SSH 密钥是否已经添加:

 ssh -T git@github.com

如果看到消息“Hi [username]! You've successfully authenticated, but GitHub does not provide shell access.”,则表示已成功通过 SSH 访问 GitHub

否则,表示没有访问远程仓库的权限,可能是因为没有正确配置 SSH 密钥或没有在 Github 上将公钥添加到的帐户中。

在 Github 上添加公钥的步骤流程:可以查看这位大佬的教学步骤:https://liaoxuefeng.com/books/git/remote/index.html

第6步及6.1,有详细介绍创建ssh 及配置公钥的步骤流程

 那么,此时问题来了

你已经配置到的公钥,输入命令 “ssh -T git@github.com” 检查没问题;

然后输入命令 “git remote -v” 查看远程库信息,也没问题,

但当你尝试从远程库克隆,或者本地库的内容推送到远程库上时,就报标题这个错误:Permission denied (publickey). fatal: Could not read from remote repository.

说明生成SSH密钥不对,注意,是生成的密钥不对,而非配置不对

我们一般生成密钥使用该命令:

ssh-keygen -t rsa -C "youremail@example.com"

但这个命令中,有个参数/变量是活的,可以变的,如下

ssh-keygen -t ed25519 -C "your_email@example.com"

通过上面两行命令有发现区别吧,那具体使用哪个呢,这个要看你公司使用的是哪种参数,跟公司服务器保持统一即可,然后正常生成一对SSH密钥,正常配置,即可正常连接。否则就会报标题这个错误。

 

posted @ 2024-11-18 10:25  干脆面666  Views(114)  Comments(0Edit  收藏  举报
/* 看板娘 */ /* 点击鼠标烟花效果 */