我可以使用SSH对Github进行身份验证,但在尝试推送到我的repo时,我的权限被拒绝

我可以使用SSH对Github进行身份验证,但在尝试推送到我的repo时,我的权限被拒绝,git,github,ssh,Git,Github,Ssh,我不熟悉使用Git和SSH身份验证,所以请耐心听我说 我在github上建立了我的回购协议,并使用用户名和密码将其推到了最佳状态。但后来我发现github不赞成这样做,所以我决定改用SSH。我找到了一个关于如何创建SSH密钥并将其添加到github的教程。我想我一定是对的,因为我用github做了身份验证测试: ssh-Tgit@github.com 我得到: 你好!您已成功通过身份验证,但GitHub不提供shell访问。 然后我跑: git推送原点 我得到: git@github.com:

我不熟悉使用Git和SSH身份验证,所以请耐心听我说

我在github上建立了我的回购协议,并使用用户名和密码将其推到了最佳状态。但后来我发现github不赞成这样做,所以我决定改用SSH。我找到了一个关于如何创建SSH密钥并将其添加到github的教程。我想我一定是对的,因为我用github做了身份验证测试:

ssh-Tgit@github.com

我得到:

你好!您已成功通过身份验证,但GitHub不提供shell访问。

然后我跑:

git推送原点

我得到:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

我真的很感激任何帮助,因为这让我发疯了

如果
git remote-v
向您显示一个指向您有权访问的存储库(例如您创建的存储库)的SSH URL,请尝试(假设是Linux):

在Windows上,在CMD中:

 set "GIT_SSH_COMMAND=ssh -v"
 git push
您将看到Git在哪里寻找SSH密钥,以及它使用的URL


它应该是:
git@github.com:/

很可能
origin
是一个您的密钥没有写入权限的repo?如果您在Windows上,请参阅。我正在使用Windows,是否有类似的内容?@J-Rome我已编辑了答案以添加该命令的Windows版本。@J-Rome太棒了!做得好。
 set "GIT_SSH_COMMAND=ssh -v"
 git push