今天,github突然宣布,无法通过用户名加密码进行上传代码和访问
$ git push
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/<USERNAME>/<REPO>.git': The requested URL returned error: 403
意思是自从21年8月13后不再支持用户名密码的方式验证了,需要创建个人访问令牌(personal access token)。
解决
生成令牌
首先生成一个令牌,进入你的GitHub官网
点击Settings
![请添加图片描述](https://img-blog.csdnimg.cn/207c6bba002340ffaeaeeb9e3c0baccf.png)
点击左侧的Developer settings
![请添加图片描述](https://img-blog.csdnimg.cn/3874ee82edb8458087dc1465f35b1ae4.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1eWloYW56Yg==,size_16,color_FFFFFF,t_70)
点击Personal access tokens(个人访问令牌)
![请添加图片描述](https://img-blog.csdnimg.cn/8b47afb3e54149679c5c47a85bb72d9c.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1eWloYW56Yg==,size_16,color_FFFFFF,t_70)
点击Generate new token
![请添加图片描述](https://img-blog.csdnimg.cn/76668a5e07be4d209950de5b737066b0.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1eWloYW56Yg==,size_16,color_FFFFFF,t_70)
设置token信息
![请添加图片描述](https://img-blog.csdnimg.cn/2f583044373d4aa5897ecbf2765c14d0.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1eWloYW56Yg==,size_16,color_FFFFFF,t_70)
点击Generate token生成令牌![请添加图片描述](https://img-blog.csdnimg.cn/d770dc72a5f042829b2718a701f27c30.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1eWloYW56Yg==,size_16,color_FFFFFF,t_70)
得到生成的令牌![请添加图片描述](https://img-blog.csdnimg.cn/1a25805812714fa8a0f5f074f76db536.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1eWloYW56Yg==,size_16,color_FFFFFF,t_70)
红框里是你的密码,记得保存下来,下次不会出现
要是忘了,先将令牌进行删除再按照上面的步骤重新创建一次
![请添加图片描述](https://img-blog.csdnimg.cn/e06999519d4a4df992c859a6f5398760.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1eWloYW56Yg==,size_16,color_FFFFFF,t_70)
应用令牌
将生成的令牌拷贝下来(拷贝你自己生成的!),记得保存,下次你就看不到了。
修改现有项目的url
git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
将<your_token>换成你自己得到的令牌。是你自己github的用户名,是你的项目名称
然后再执行git push,世界又恢复原样了。
或者用小乌龟进行上传,不会在输入密码,直接成功
借鉴了一些大佬的文章
解决问题方法