从命令行(通过https,而不是ssh)使用GitHub启动一个推送或任何其他操作,调用用户名和密码不仅会失败,而且当它失败时,它会返回
Username for 'https://github.com': username
Password for 'https://username@github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/username/repository.git/'
我没有@github.com
地址。密码和用户名是正确的。
我知道我可以切换到SSH并使用密钥,但这并不能解释为什么身份验证在https上失败。
发布于 2014-01-27 14:31:13
GitHub的支持立即确定了问题的根源:双因素授权。
要通过https在shell上使用GitHub,请使用create an OAuth token。正如页面所指出的,我确实必须从密钥链中删除我的用户名和密码凭据,但是有了osx-keychain
,令牌就被存储为密码,并且在没有双因素授权的情况下,事情就像在https上一样工作。
发布于 2015-10-23 07:01:36
如果您之前存储了不同的凭据,则可能会在Windows中发生这种情况。转到凭据管理器并删除存储的github凭据
发布于 2015-09-28 23:19:03
仅限Mac
如果需要删除身份验证,请使用
git credential-osxkeychain erase
host=github.com
protocol=https
在Mac上。
请参阅https://help.github.com/articles/updating-credentials-from-the-osx-keychain/
https://stackoverflow.com/questions/20913962
复制相似问题