最近新建了一个GitHub项目,想push代码上去,Terminal提示需要输入用户名和密码,就顺手输了用户名密码,结果提示

1
2
3
4
5
~ % git push
Username for 'https://github.com': username
Password for 'https://username@github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/TinoGuo/exampleRepo/'

怎么回事,难道手贱输错了?于是再输了好几遍还是错误。去GitHub特地输了一遍账号密码,直接pass了。

难道用户名是邮箱?试了一遍还是上面的错误。于是Google搜索这个错误,最后终于解决了。

原因

开启了GitHub的2FA验证,用户名密码不能直接用来登录了。

如何通过GitHub的2FA验证

打开GitHub的Settings





进入Developer Settings





点击Personal access token





如果没有token,可以新生成一个,点击Generate toekn。如果已经有了token,可以copy原来的token





输入用户名和token到Terminal

1
2
3
4
5
~ % git push
Username for 'https://github.com': username
Password for 'https://username@github.com': 这里输入token
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/TinoGuo/exampleRepo/'

当然GitHub也有官方Guide

https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token https://medium.com/@ginnyfahs/github-error-authentication-failed-from-command-line-3a545bfd0ca8