从2021年8月13日开始,不接受用户密码的方式进行git操作验证

0x00前言

昨天,当我想将项目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: 无法访问 'https://github.com/xxx/xxx.git/':The requested URL returned error: 403

这个问题是由于github官方发布了一则安全性改动:从2021年8月13日开始,不接受用户密码的方式进行git操作验证
具体可以参考官方消息

0x01这个问题的影响范围

  • 命令行方式操作涉及到用户校验的都会被限制:比如git push
  • git桌面端程序
    解决方法:官方给出了两种认证方法:验证码个人令牌(personal access token)

0x02个人令牌好处

个人令牌好处多多:

  • 唯一性(Unique)令牌只针对GitHub站点生效,对gitlab(反华急先锋gitlab,打死不用)没效果,同时可以只针对用户或者设备。
  • 可撤销性(Revocable)令牌能够随时撤销,同时不需要你修改账户信息?
  • 有限性(Limited)令牌能够做到权限控制
  • 随机性(Random)拒绝字典破解,拒绝猜测破解
    总之两个字概括:安全

0x03生成个人令牌

  1. 验证邮箱,验证过看下面操作。
  2. 在任何页面的右上角,点击您的个人资料照片,然后点击setting(设置)
  3. 在左侧边栏中,点击Developer settings(开发人员设置)
  4. 在左侧边栏中,单击Personal access tokens(个人访问令牌)
  5. 单击Generate new token(生成新令牌)
  6. 为您的令牌指定一个描述性名称(Note)
  7. 要让您的令牌到期,请选择到期下拉菜单,然后单击默认值或使用日历选择器。
  8. 选择您要授予此令牌的范围或权限。要使用您的令牌从命令行访问存储库,请选择所有带有repo的选项。
  9. 单击生成令牌,随后九生成了如下的个人令牌
    在这里插入图片描述

0x04使用个人令牌

个人令牌一定要复制!复制!复制!,生成完令牌只会显示一次。
在命令行中输入:

$ git push origin master
Username for 'https://github.com': xxx   
Password for 'https://[email protected]': [你的令牌粘贴在这里]
枚举对象中: 5, 完成.

Guess you like

Origin blog.csdn.net/xiaokai1999/article/details/119709229