从要求用户名和密码的命令行(通过 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 并使用 key ,但这并不能回答为什么身份验证在 https 上失败。
最佳答案
GitHub 的支持立即确定了问题的根源:双因素授权。
要通过带 https 的 shell 使用 GitHub,create an OAuth token .如页面所述,我确实必须从 Keychain 中删除我的用户名和密码凭据,但使用 osx-keychain
时, token 将作为密码存储,并且一切正常,就像在没有两个 https 的情况下一样-因素授权到位。
关于GitHub 身份验证失败 https,返回错误的电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20913962/