OpenSSH:git@github.com 权限被拒绝

Posted

技术标签:

【中文标题】OpenSSH:git@github.com 权限被拒绝【英文标题】:OpenSSH: git@github.com permission denied 【发布时间】:2020-01-07 19:46:40 【问题描述】:

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

我过去曾在 WSL 上成功完成此操作,但似乎 OpenSSH 在 PowerShell 上给我带来了麻烦。当我尝试对一个全新的 repo 执行简单的推送命令时,我收到以下错误:

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's article on this very subject 中列出的所有步骤进行操作,一切都表明我可以开始了。

这是我所做的:

    检查以确保 ssh-agent 正在运行。是的。

    ssh -vT git@github.com。它使用端口 22,最后我得到Hi [MyUsername]! You've successfully authenticated, but GitHub does not provide shell access.

    已验证 ssh-add -l -E md5 确实拥有正确的公钥。

    验证上面ssh-add 吐出的公钥与我添加到我的 GitHub 帐户中的公钥完全相同。

    尽管执行了第 1 步,但仍检查以确保确实找到了我的密钥。确实是(第二行):

...
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in C:\\Users\\aleks/.ssh/known_hosts:1
...

老实说,我很困惑,没有想法。怎么回事?

【问题讨论】:

【参考方案1】:

尝试将set GIT_SSH_COMMAND 转换为ssh -v,然后再次尝试您的git push。 或through a config

git -c core.sshCommand="ssh -v" push

输出将允许您检查 Git 是否正在查看正确的键。 确保您的 ssh-agent is started 在您的 Powershell 会话中

OP AlexH 确认in the comments:

第一次没有使用正确的身份。 我认为这与我将文件命名为 id_rsaid_rsa.pub 以外的名称有关。 重命名它们允许它通过。

【讨论】:

啊哈,好吧,第一次没有使用正确的身份。我认为这与我将文件命名为 id_rsaid_rsa.pub 以外的名称有关。重命名它们允许它通过。干杯。 @AlexH 太棒了!我已将您的评论包含在答案中以提高知名度。

以上是关于OpenSSH:git@github.com 权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

git推送

Github克隆项目的时候报错:git@github.com: Permission denied (publickey).解决方法

git@github.com: Permission denied (publickey).////remote: Permission to xxx/test.git denied to xxx.等

git push 代码 报没有权限的错误 的解决方法之一

openssh windows坏主人或权限

openssh windows 错误的所有者或权限