GitHub:权限被拒绝(publickey).致命:无法从远程存储库读取

Ull*_*i H 19 git github git-remote

我在使用GitHub时遇到了麻烦.我正在玩Git的远程存储库.

当我现在尝试对远程目录进行任何更改,即

git remote show origin
Run Code Online (Sandbox Code Playgroud)

要么

git push -u origin master
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

权限被拒绝(publickey).致命:无法从远程存储库读取.

请确保您具有正确的访问权限并且存储库存在.Ulrichs-MacBook-Pro:coredatatest ulrichheinelt $ git push -u origin master Permission denied(publickey).致命:无法从远程存储库读取.

当我再次使用新的(空的)远程目录时,我会很高兴.或者有办法解决这个错误吗?

这是我昨天开始使用GitHub的第一步......非常感谢提前!

编辑1

我的设置在https://github.com/UlliH/CoreDataTest/settings

...

编辑2

太早开心 :-(

设置SSH和GPG密钥后,错误仍然相同.: - /

编辑3

我认为这是正确的,但仍然是一样的......

在此输入图像描述

Evg*_*kan 16

  • 在您的GitHub配置文件中有一个Edit Profile按钮.
    它位于网页的右上角.
  • 按它,您将看到左侧Personal Settings菜单.
  • 在该菜单中找到SSH and GPG keys选项并按下它.
  • 您将看到New SSH key添加新密钥的选项.


Shr*_*n40 14

  1. 使用生成SSH密钥ssh-keygen -t rsa -b 4096 -C "your_email@foo.com".
  2. 复制输出 cat ~/.ssh/id_rsa.pub
  3. 将上面复制的outpur粘贴到您的Github profile -> Settings -> SSH and GPG Keys -> Add new SSH key.


Wal*_*lva 14

  1. 生成您的密钥

    ssh-keygen

  2. 可视化你的钥匙

    ls ~/.ssh

    id_rsa id_rsa.pub

  3. 启动代理

    评估`ssh-agent`

  4. 将您的密钥添加到代理

    ssh 添加 ~/.ssh/id_rsa


Waq*_*leh 8

对我来说,我必须设置什么主机使用什么 SSH 密钥。在您本地机器的 SSH 文件夹中,通常在~/.ssh创建/编辑config使用您喜欢的编辑器(如vimgedit)调用的文件下

vim ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)

并在您的 git HostHostName和 ssh IdentityFile(您的 ssh 私钥文件路径)中添加以下内容:

Host gitlab.example.com
    HostName gitlab.example.com
    IdentityFile /home/YOURUSERNAME/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)


Fla*_*air 7

macOS Ventura 不再支持 RSA。因此,如果您的密钥是 RSA,您将需要生成另一个密钥,例如

$ ssh-keygen -t ed25519 -C "your_email@example.com"
Run Code Online (Sandbox Code Playgroud)


shr*_*shr 6

我的 ssh 连接遇到了同样的问题。我试图通过 ssh 解决它,但找不到可行的解决方案。因此,在这种情况下,我将远程 URL 从 SSH 更改为 HTTPS。我使用了命令: $ git remote set-url origin https://github.com/USERNAME/REPOSITORY.git. 你可以看到使用远程URL改变: $ git remote -v

您可以在此处找到更多详细信息

这会将您的远程 URL 更改为 HTTPS,因此您现在必须键入您的 GitHub 用户名和密码才能将您的项目推送到远程存储库。我知道 ssh 比 HTTPS 更容易,这意味着您不必输入您的用户名和密码,但是如果您没有找到任何通过 ssh 修复它的解决方案,这可能会有所帮助,并且您急于推送您的代码到您的回购。