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

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

当前回答

以防有人需要这个。我在用户的.ssh文件夹中创建了一个不同名称的ssh密钥,如ar-2022-ssh。这样做的问题是,检查现有的SSH密钥指定GitHub支持的公钥是以下之一。

id_rsa.pub
id_ecdsa.pub
id_ed25519.pub

一旦我在生成密钥时将我的ssh密钥名称更改为其中之一,它就可以连接到GitHub

其他回答

这招对我很管用:

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

这就是所有的朋友们!

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

Edit

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

你在你的~/中创建了配置文件吗?ssh目录吗?它应该有这样的内容:

Host github.com 
 IdentityFile ~/.ssh/github_rsa

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

然后上传到GitHub…

注意:如果~/中有多个键(2个或更多),则必须采用这种显式配置方式。ssh /目录。如果你不这样指定密钥,那么第一个密钥将被用于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帐户

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

好吧,这个问题有一些解决方案,其中一些可能已经提到过了,但只是把它们放在一起:

确保您的键是存在的,默认情况下是另一个~/。Ssh /文件夹,即id。Rsa和id.rsa.pub 确保密钥有正确的权限,你可以运行chmod: Chmod 600 ~/.ssh/id_rsa . exe Chmod 644 ~/.ssh/id_rsa.pub 确保您的公钥(id_rsa.pub)的内容与远程存储库配置中上传的内容匹配 最后修复ssh代理的问题: ssh-add

更多信息:https://itcodehub.blogspot.com/2015/01/ssh-add-problems-with-ssh-agent-and.html