我有一个项目托管在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.

这似乎表明,一切都是OK从这一边(eurydyce是我的github用户名)。我严格按照github上给出的说明和许多堆栈讨论的建议,但没有办法。你知道我可能做错了什么吗?


当前回答

控制面板 证书管理器 寻找选项web凭据和windows凭据 在任何一个你会发现github凭证修复它与正确的凭证 打开新的git bash实例,你应该能够执行你的git命令。

这为我工作,我能够拉和推到我的远程回购。

其他回答

因为你可能想让你的账户启用2FA,你可以设置一个ssh密钥,这样你就不需要每次你想把工作推送到Github时都输入你的Github凭据。

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

启用双因素身份验证(2FA)后,当你尝试使用git clone、git fetch、git pull或git push时,你可能会看到类似这样的东西:

$ git push origin master
Username for 'https://github.com': your_user_name
Password for 'https://your_user_name@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/your_user_name/repo_name.git/'

为什么会发生这种情况

从GitHub帮助文档:

After 2FA is enabled you will need to enter a personal access token instead of a 2FA code and your GitHub password. ... For example, when you access a repository using Git on the command line using commands like git clone, git fetch, git pull or git push with HTTPS URLs, you must provide your GitHub username and your personal access token when prompted for a username and password. The command line prompt won't specify that you should enter your personal access token when it asks for your password.

如何解决

生成一个个人访问令牌。(关于为命令行创建个人访问令牌的详细指南。) 复制个人访问令牌。 重新尝试您正在尝试的命令,并使用个人访问令牌代替您的密码。

相关问题: https://stackoverflow.com/a/21374369/101662

这种情况发生的原因有很多。在我的案例中,没有一个解决方案有效。特别是,git拉origin master没有问我我的用户名和密码。

我在Windows上的github密码最近改了。我使用凭据管理器来管理我的密码。以下是对我有效的方法:

Confirm you are using the credential manager for git: git config --list … credential.helper=manager Run a new command prompt as administrator List all stored credential with cmdkey /list from C:\WINDOWS\system32> Remove the github target with cmdkey /delete:<target name>. In my case, the target name was github.<companyname>.com Open a new prompt and run a git command. You should get a popup asking for your usernmame and password. After providing the new credentials, it won't ask you for it again.

您可能会得到这个错误,因为您已经更新了密码。所以在终端上,首先确保你从钥匙链中清除你的GitHub凭证,然后将你的更改推到你的回购,终端将要求你的用户名和密码。

我通过安装GitHub CLI并运行gh auth登录来解决我的问题

看到的: https://docs.github.com/en/get-started/getting-started-with-git/caching-your-github-credentials-in-git#github-cli