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密钥,正常配置,即可正常连接。否则就会报标题这个错误。