GitHub: 用户名或密码无效

680

我有一个托管在GitHub上的项目。当我试图将我的修改推送到主分支时,失败了。我总是收到以下错误消息:

Password for 'https://git@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://git@github.com/eurydyce/MDANSE.git/'

然而,将我的ssh密钥设置到github上似乎没问题。事实上,当我执行ssh -T git@github.com时,我会得到以下结果:

Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.

这似乎表明从那一侧来看一切都没问题(eurydyce是我的Github用户名)。我严格按照Github的说明和许多堆栈讨论的建议进行操作,但无济于事。你有任何想法我可能做错了什么吗?


2
我不确定是否应该发布答案(很有可能会被踩),因为在尝试了多次使用“正确”的密码(通过检查元素进行验证)后,我通过更改Github设置中的密码解决了此错误消息。 - 林果皞
2
一些组织启用了SAML SSO。在这种情况下,最好使用个人访问令牌。如果您已经登录,请重新登录并授予Github Desktop / Sourcetree权限。 - Abhay Shiro
36个回答

3
如果你在以下情况下遇到此错误信息:
  • 使用 github企业版
  • 在git config中使用 credential.helper = wincred
  • 使用您最近更改的 windows凭据
然后查看此答案: https://dev59.com/hGUp5IYBdhLWcg3wRWFD#39608906 Windows将凭据存储在凭据管理器中,请清除或更新它。

3
  1. 控制面板
  2. 凭证管理器
  3. 查找选项 webcredentials 和 windows credentials
  4. 您可以在其中一个中找到 github 凭证,并使用正确的凭证进行修复
  5. 打开新的 git bash 实例,您应该能够执行您的 git 命令。

这对我有效,我能够拉取和推送到我的远程仓库。


3

我经常遇到这个问题。 确保设置git --config user.name ""而不是你的真实姓名,我有几次犯过这个错误。


1

我遇到了相同的问题。

$ git clone https://github.com/sample-url.git
Cloning into 'Project'...
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/sample-url.git/'

我只需要先运行git init,然后再运行git clone <clone-url>

git init
git clone https://github.com/your-clone-Url

它对我起作用了。


奇怪。这不应该发生。你所做的只是在另一个本地仓库中克隆一个存储库。这对你的 git clone 命令所需的身份验证不应该有任何影响。 - VonC

1

由于您可能希望保持账户的2FA启用状态,因此您可以设置一个ssh密钥,这样每次想要推送工作到Github时就不需要输入Github凭据。

您可以在文档中找到所有ssh设置步骤。首先,请确保您当前没有任何ssh密钥(id_rsa.pub等)使用$ ls -al ~/.ssh


1

我刚刚禁用了双重身份验证,然后再试了一次。这对我有效。



1
如果有人在VS Code上遇到此问题,则将git协议设置更改为ssh即可解决问题。 git protocol vs code setting


1

对我来说,所有的答案都不起作用。在我的情况下,我需要访问一个给定组织。因此,仅仅更新令牌是不够的,我还需要授予该特定组织访问权限。

以下是完整的流程,以恢复对组织存储库的访问权限:

  1. 重新生成令牌(在我的情况下,我已经有一个过期的令牌) 输入图像描述
  2. 复制令牌
  3. 为我的组织添加权限: 输入图像描述
  4. 使用令牌访问您的存储库,例如执行以下操作:
    % git pull
    'https://github.com' 的用户名:YOUR_USER
    'https://YOUR_USER@github.com' 的密码:PASTE_TOKEN
    

0
对我来说,罪魁祸首在于.git/config文件中,我需要删除这两行:
[http "https://github.com/"]
        extraheader = AUTHORIZATION: basic <...>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接