git@github.com:权限被拒绝(公钥)

git@github.com: Permission denied (publickey)

我创建了一个新的远程存储库,并在 addcommit 之后第一次尝试使用 git push -u origin master 命令将我的本地文件推送到新存储库。然而,它弹出这个git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.。我该如何解决这个致命错误?

我试过了
How to solve Permission denied (publickey) error when using Git? 看来这个link中的问题是第一次使用git。我已经使用我的 git 一段时间了,我还需要遵循这个解决方案吗?谁能给我一个更具体的解决方案?

这是我遇到的致命错误

C:\Users\ASUS\Desktop\React-Practice App\my-app>git status
On branch master
nothing to commit, working tree clean

C:\Users\ASUS\Desktop\React-Practice App\my-app>git push -u origin master
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

您正在通过 SSH 访问 GitHub。首先生成SSH密钥对;然后将 public 键添加到 GitHub.

生成密钥对,github首选“Ed25519算法”

ssh-keygen -t ed25519 -C "your_email@example.com"

它仍然允许在不支持 Ed25519 的系统上使用 rsa

ssh-keygen -t rsa -b 4096 -C “youremail@example.com”

https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent and https://help.github.com/en/articles/adding-a-new-ssh-key-to-your-github-account

查看更多

当我遇到这个问题时,我的 git 远程来源 url 出现了拼写错误。也许您可以仔细检查所有内容是否拼写正确,而无需任何额外的意外击键?

即使在 github 上添加 ssh 密钥后也有同样的问题。

通过运行这个命令修复了它

ssh -vT git@github.com

我遇到这个问题是因为我像@Mon 那样为我的密钥使用了非标准位置。就我而言,我没有使用默认文件名,因为我的系统上有多个密钥。所以单纯的移动或者重命名是无法解决的。

解决方案是编辑或创建 ~/.ssh/configconfig and Configuring the Location of Identity Keys 的 OpenSSH 文档)以包含以下内容:

Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/github-key
  • 不要编辑第 3 行以反映您自己的用户名。用户名应为 git(参见 github docs)。

  • 编辑第 4 行以反映密钥的位置。

如果您已经有一个 config 文件,那么在四处走动之前先看看里面有什么是值得的。在编辑之前制作副本永远不会有坏处。

上面假设你已经创建了密钥,把它放在github上,你实际上有权限,其他一切都是应该的,但仍然遇到错误。

我在进行此设置时遇到了最糟糕的情况,并且弹出了同样的错误。

我如何解决我的问题是没有将 .git 文件夹作为根文件夹并使用另一个用户通过 sudo 访问它。我将文件夹权限更改为用户:

chown -R user:user .git/

在 Windows 上有时会安装多个版本的 SSH。
使用 git:
时会导致冲突 git@github.com: 权限被拒绝(公钥).
要解决它,只需在环境变量中指向正确的版本:

setx /m GIT_SSH C:\Windows\System32\OpenSSH\ssh.exe