有人看到这个错误并知道该怎么做吗?

我正在使用终端,我在根,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.

当前回答

我在远程主机上使用git pull寻找类似错误消息的解决方案时发现了这个页面:

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

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

我通过ssh -AY remote_hostname从本地计算机连接到远程主机。这不是OP问题的解决方案,但对其他遇到这个页面的人很有用,所以把它贴在这里。

注意,在我的例子中,git pull在我的本地机器上工作良好(也就是说,ssh密钥已经设置,并添加到GitHub帐户等)。我通过将这个添加到~/来解决我的问题。Ssh /config在我的笔记本电脑:

Host *
     ForwardAgent yes

然后我用ssh -AY remote_hostname重新连接到远程主机,git拉现在工作了。配置中的更改允许将我的ssh对从本地计算机转发到任何主机。ssh的-A选项实际上是在ssh会话中转发它。点击这里查看更多细节。

其他回答

GitHub无法验证你的身份。所以,要么你没有安装SSH密钥,因为你还没有在你的机器上设置一个,要么你的密钥没有与你的GitHub帐户相关联。

您还可以使用HTTPS URL而不是SSH/git URL来避免必须处理SSH密钥。这是GitHub推荐的方法。

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

如果您已经创建了SSH密钥,但仍然报错,这是因为您需要给用户读写要克隆到的文件夹的权限。sudo chmod 777 <your_folder_name_here>"。 当然,这是在生成SSH密钥之后,仍然会得到这个错误。希望这对未来的用户有所帮助。

Edit

如果你使用git bash,在Windows中使用admin来添加

我得到了这个错误。原来我刚刚将OSX升级到Sierra,我的旧密钥不再注册了。

一开始我以为是“升级到macOS Sierra会破坏你的SSH密钥并将你锁在自己的服务器之外”

但我避开了这个问题。结果我只需要重新注册我现有的密钥:

ssh-add - k

然后输入密码…完成了!

我在ssh代理中加载了2个Github身份文件。我的个人钥匙和另一把客户项目的钥匙。

我删除了引起混乱的关键:

Ssh-add -d id_rsa_github_somekey . sh

这招对我很管用:

1-删除所有起源

git remote rm origin  

(参见https://www.kernel.org/pub/software/scm/git/docs/git-remote.html)

*remote: "管理你所跟踪的分支的存储库集合("remotes")。

*rm: "删除已命名的远程。所有远程跟踪分支和远程配置设置都被删除。”

2-检查所有已删除:

git remote -v  

3-添加新的产地主

git remote add origin git@github.com:YOUR-GIT/YOUR-REPO.git

这就是所有的朋友们!