如何解决 github:Permission denied (publickey)

如何解决 github:Permission denied (publickey). fatal: Could not read from remote repository.

该问题主要是Github在本地或服务器上没有生成 SSH KEY 导致的

参考方法:https://blog.csdn.net/qq_28505809/article/details/102717689
部分问题解决方法参考:https://www.geeksforgeeks.org/how-to-fix-could-not-open-a-connection-to-your-authentication-agent-in-git/

查看是否有文件 id_rsa id_rsa.pub

1
2
cd ~/.ssh
ls

此时应显示 id_rsa id_rsa.pub

生成新的 SSH KEY

如果有文件 id_rsa id_rsa.pub,也可以进行以下操作,覆盖过去的 KEY。
输入命令:

1
ssh-keygen -t rsa -C 你的邮箱地址

随后可能有输密码、设置密码等操作,为避免麻烦,可以选择一直按回车,最终生成新的 SSH KEY。

配置新的 SSH KEY

完成上一步操作后,输入:

1
ssh-v git@github.com

此时没有authentication methods,最后一行仍会显示:Permission denied (publickey).
随后输入

1
ssh-agent -s

以上操作回现实SOCK、PID等信息,最后一行会显示:echo Agent pid XXXXX;
接着输入:

1
ssh-add ~/.ssh/id_rsa

此时若顺利,会显示:Identity added…
若出现错误提示:Could not open a connection to your authentication agent.
你需要执行命令:

1
eval "$(ssh-agent -s)"

随后再去执行:

1
ssh-add ~/.ssh/id_rsa

此时不会再次报错,问题解决。

将新的 SSH KEY 添加到你的 Github

在进行完上面的操作后,输入:

1
cat id_rsa.pub

复制其中的内容,进入 Github 账号,在 settings 目录下,点击 SSH and GPG keys,随后点击右上角 New SSH key。
输入任意 title,随后将复制的内容粘贴到 key 中。

Add SSH KEY。

验证是否添加成功

在终端输入:

1
ssh -T git@github.com

提示有 Hi xxx!开头,说明已经添加成功了。


如何解决 github:Permission denied (publickey)
https://slliland.github.io/2024/06/25/permission/
作者
宋雨健
发布于
2024年6月25日
许可协议