协慌网

登录 贡献 社区

GitHub 错误消息 - 权限被拒绝(公钥)

有人看到此错误并知道该怎么办吗?

我正在使用终端,位于根目录中,GitHub 存储库存在,现在不知道该怎么办。

> git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

答案

GitHub 无法对您进行身份验证。因此,或者您没有设置 SSH 密钥,因为您尚未在计算机上设置SSH 密钥,或者您的密钥未与 GitHub 帐户相关联。

您也可以使用 HTTPS URL 代替 SSH / git URL,以避免必须处理 SSH 密钥。这是GitHub 的推荐方法

此外,GitHub 上有一个专门针对该错误消息的帮助页面,并更详细地说明了您可以检查的所有内容。

您是否在〜/ .ssh 目录中创建了一个配置文件?它应具有以下内容:

Host github.com 
 IdentityFile ~/.ssh/github_rsa

假设您创建了一个名为github_rsa 的 ssh 密钥

并上传到 GitHub ...

注意:如果〜/ .ssh / 目录中有多个键(2 个或更多),则必须遵循这种显式配置方式。如果您不以这种方式指定密钥,那么将按顺序使用第一个密钥并将其用于 github 身份验证,因此它取决于密钥文件名。

我知道这个问题。添加 ssh 密钥后,也将 ssh 密钥也添加到 ssh 代理(来自官方文档

ssh-agent -s
ssh-add ~/.ssh/id_rsa

一切正常之后,git 可以查看正确的密钥,然后无法查看。