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

我正在使用终端,我在根,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 push'期间得到相同的错误。在客户端,我有两个起源和主人。我拿掉了一个,然后它就正常工作了。

其他回答

我也有同样的问题,但没有一个答案有效,但一个简单的解决方案有效。但是请注意,我确实首先添加了答案所建议的ssh密钥。不知道这是否真的有用。总之,这是最后成功的方法:

使用git远程将远程的URL从HTTPS更改为SSH set-url命令。$ git remote set-url origin git@github.com:USERNAME/REPOSITORY.git。验证远程URL 已经改变了。

首先,我们需要检查计算机上现有的ssh密钥。打开Terminal并运行:

ls -al ~/.ssh

#or

cd ~/.ssh
ls

这将列出.ssh目录下的文件

最后,根据你所看到的(对我来说是):

 github_rsa  github_rsa.pub known_hosts

试着设置你的RSA,希望这能解决你的“git推送源”问题

$ ssh-keygen -lf ~/.ssh/github_rsa.pub

注意:RSA证书是密钥配对,所以你会有一个私人和一个公共证书,私人将不会为你访问,因为它属于github(在这种情况下),但公共是一个你可能会错过当这个错误发生(至少是我的情况下,我的github帐户或回购搞砸了,我不得不“链接”公钥,以前生成)

这个答案与其他答案略有不同,但在其他情况下,您可以在系统上正确配置SSH密钥,但仍然会遇到这种情况。

我在一个孤立的环境中(例如使用Tox)在python子进程中运行git命令时遇到了这个问题。我通过传递SSH_AUTH_SOCK和SSH_AGENT_PID环境变量来修复它。

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

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

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

对我来说,我试过这个

eval "$(ssh-agent -s)"

然后我就跑

ssh-add ~/.ssh/path-to-the-keyfile

为了生成密钥,你可以运行

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

这将生成一对密钥(Public和private)。

您可以将此密钥存储到github以了解更多信息,添加一个新的SSH密钥到您的github帐户

我希望它能帮助到其他人:)