提问者:小点点

推送到GitHub上的存储库时身份验证失败(从GitHub桌面和命令行)


  • 我在Windows 10 64位上使用GitHub Desktop v2.5.7和Git v2.29.1
  • 我的GitHub帐户已启用2FA
  • 我可以使用GitHub桌面或命令行从GitHub克隆存储库
  • 我已经生成了一个SSL密钥,并按照所有说明将其添加到本地和GitHub
  • 我已经生成了一个个人访问令牌,并尝试在命令行中使用它,还有我的密码

问题:当我尝试将更改推送到存储库时,出现身份验证错误。

GitHub桌面中的错误:

命令行错误:

在sslverify打开的情况下:

致命:无法访问https://github.com/jacquibo/neo4jDataSets.git/:SSL证书问题:无法获取本地颁发者证书

关闭 sslverify 后:

信息:请在浏览器中完成身份验证...
致命: incorrect_client_credentials:传递的client_id和/或client_secret不正确。[https://docs.github.com/apps/managing-oauth-apps/troubleshooting-oauth-app-access-token-request-errors/#incorrect-client-credentials]
“https://github.com”的用户名:my@githubemail.co.uk“
https://my@githubemail.co.uk@github.com”的密码:
远程:无匿名写入访问权限。
致命:“https://github.com/myusername/myrepo.git/”身份验证失败

我试过:

  • GitHub中错误中的所有建议
  • 在本地和GitHub上添加SSH密钥(当我使用<code>SSH-I mycertname-vT时git@github.com我收到一条拒绝权限的消息,请参阅下文)
  • 添加个人访问令牌
  • 检查源是否使用HTTPS

使用命令行测试SSL证书时出错:

OpenSSH_8.4p1, OpenSSL 1.1.1h 22 Sep 2020
debug 1:读取配置数据 /etc/ssh/ssh_config
debug 1:连接到github.com[140.82.121.4]端口22.
debug 1:连接到地址140.82.121.4端口22:权限被拒绝
ssh:连接到主机github.com端口22:权限被拒绝

我如何解决这个问题?

仅仅能够在GitHub.com上编辑文件是不太实际的。


共2个答案

匿名用户

您需要使用SSH来访问存储库,而不是HTTPS。

将遥控器的 URL 从 https://xxx 更改为 git://xxx

您可以使用GitHub存储库代码页右侧的绿色按钮来帮助您获得正确的URL。更改自:

您需要做的另一件事是确保您在本地安装了最新的Git。如果您安装了旧版本的Git,您可能会遇到错误。

匿名用户

这是因为你的GitHub帐户中没有SSH密钥。按照文档将SSH密钥安装到您的GitHub帐户。

生成新的SSH密钥并将其添加到ssh代理