GitHub身份验证在https上失败,返回错误的电子邮件地址

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

从命令行(通过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上失败。

提问于
用户回答回答于

GitHub的支持立即决定了问题的根源:双因素授权。

要在shell上使用GitHub和https,正如页面所指出的,我确实必须从KeyChain中删除用户名和密码凭据,但必须使用osx-keychain在适当的位置上,令牌被存储为密码,并且事情就像它们在没有两个因素授权的情况下在https上一样工作。

用户回答回答于

我没有@github.com地址

你不必:@用户名:密码和域之间的分隔符。

这不是电子邮件地址。

完整的GitHub https url将是:

https://username:password@github.com/username/reponame.git

如果没有密码(然后在命令行上询问密码),这将提供:

https://username@github.com/username/reponame.git

不过,我再说一遍,username@github.com不是电子邮件地址,只是凭证的第一部分。

扫码关注云+社区