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

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

当前回答

对我来说,我试过这个

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帐户

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

其他回答

首先,我们需要检查计算机上现有的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帐户或回购搞砸了,我不得不“链接”公钥,以前生成)

这发生在我身上。出于某种原因,我的出身在我没有意识到的情况下被搞砸了:

检查您的设置是否仍然正确

git remote -v

url需要像ssh://git@github.com/YourDirectory/YourProject.git; 如果没有看到git@github.com,请使用

git remote set-url origin git://github.com/YourDirectory/YourProject.git

纠正错误。或者你可以使用github应用程序在特定存储库的设置面板中检查和设置主远程存储库url。

使用Https是可以的,运行git config——global credential。帮助wincred创建一个Github凭据帮助存储您的凭据为您。如果这不起作用,那么您需要编辑.git目录中的配置文件,并将原始文件更新为https url。

查看github文档的链接。

在将GitHub添加为远程时,使用该页面的URL。 它不会引起任何这样的错误和推动代码

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

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