OpenSSH: git@github.com permission denied

5 浏览
0 Comments

OpenSSH: git@github.com permission denied

我需要在我的一个项目中使用PowerShell而不是WSL。我想设置我的终端使用ssh而不是每次都输入我的凭据。

我在过去成功地在WSL上做过这个,但是在PowerShell上似乎OpenSSH给我带来了麻烦。当我尝试执行一个简单的推送命令到一个全新的仓库时,我收到以下错误:

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.

事情开始变得奇怪...我按照 GitHub 的关于这个问题的文章中概述的所有步骤进行了操作,一切都表明我可以继续了。

我做了以下几点:

  1. 检查确保 ssh-agent 正在运行。是的。
  2. 运行 ssh -vT git@github.com。它正在使用端口 22,并且我在最后得到 Hi [我的用户名]!您已成功验证,但 GitHub 不提供 shell 访问权限。
  3. 验证 ssh-add -l -E md5 是否有正确的公钥。
  4. 验证由上述 ssh-add 输出的公钥是否与我添加到 GitHub 账户的公钥完全相同。
  5. 尽管进行了第 1 步,但仍然检查确保我的密钥实际上被找到。确实如此(第二行):

...

debug1: Host 'github.com' is known and matches the RSA host key.

debug1: Found key in C:\\Users\\aleks/.ssh/known_hosts:1

...

我真的很困惑,没有任何主意。发生了什么事?

0
0 Comments

问题原因:在第一次尝试时,Git没有使用正确的身份验证方式,可能是因为文件名不是"id_rsa"和"id_rsa.pub"。将文件重命名后,问题解决。

解决方法1:尝试设置环境变量"GIT_SSH_COMMAND"为"ssh -v",然后重新执行"git push"命令。

解决方法2:通过配置文件设置Git的核心SSH命令为"ssh -v",然后执行"git push"命令。

确保在Powershell会话中启动SSH代理。

根据OP AlexH的评论,问题已经解决。他指出第一次尝试时没有使用正确的身份验证方式,可能是因为文件名不是"id_rsa"和"id_rsa.pub"。将文件重命名后,问题得到解决。

以上方法均可解决该问题。

0