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

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

当前回答

如果您正在使用windows -10,请遵循此说明。这对我很管用。

以管理员身份打开终端 执行命令:"ssh-keygen"。它生成一个ssh密钥,并显示创建密钥的文件夹。检查我的图像 复制生成的ssh密钥 点击“新建SSH键按钮”并粘贴“SSH键”,最后“点击添加按钮”

其他回答

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

Edit

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

如果您正在使用GitHub for Mac UI,请检查首选项以确保您已登录。

这种情况会发生在创建存储库后遵循GitHub指示时。Git将指示您使用以下内容添加遥控器。

Git远程添加源git@github.com:<用户>/<项目>.git

将<>中的内容替换为与您的帐户相关的值。

解决方案是删除.git后缀。添加遥控器的操作如下:

Git远程添加origin git@github.com:<用户>/<项目>

确保SSH -add -l显示存在于Github帐户的SSH密钥列表中的SSH密钥的指纹。

如果输出为空,但你知道你有一个与你的github帐户一起使用的私有SSH密钥,在这个密钥上运行SSH -add(在~/. SSH中找到。默认情况下,它被命名为id_rsa,因此您可能会运行ssh-add id_rsa)。

否则,按照下面的说明生成SSH密钥对。

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