github的token使用方法

今天从本地向github push代码发,失败了。错误消息如下:

remote: Support for password authentication was remove on August 123, 2021. Please use a personal access token instead.

在这里插入图片描述

原因是github不再使用密码方式验证身份,现在使用个人token。

本文记录,

  • 如何生成token
  • 在命令行下怎样使用token

github如何生成token

github的官方有给出如何生成个人token的文档。参考github官网生成token文档

这里给出简要的步骤:

  1. 进入个人github账户setting
    在这里插入图片描述

  2. 点击Developer settings
    在这里插入图片描述

  3. 选择Personal access tokens
    在这里插入图片描述

  4. 点击 Generate new token
    在这里插入图片描述

  5. 为你创建的token添加描述
    在这里插入图片描述

  6. 选择token有效期时间。可以选择永不过期
    在这里插入图片描述

  7. 为token赋予权限。如果从命令行操作仓库,至少选中repo
    在这里插入图片描述

  8. 点击生成。生成之后先复制下来,后面会用到。注意:离开这个页面,之后你将看不见这个token的明文了。
    在这里插入图片描述
    在这里插入图片描述

命令行如何使用token

之前,github使用用户名和密码作为身份验证,现在使用用户名和token作为验证。

比如,github官网给出的示例。克隆一个仓库,提示输入用户名和密码,此处就可以使用上面生成的token作为密码使用。

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

但是有一个问题,我们总不能记住那么长的一串token吧

为了解决这个问题,github提供了gh工具,通过gh登录验证身份后,之后再不需要验证身份。

此处只演示ubuntu安装gh工具。

$ sudo apt update
$ sudo apt install snapd
$ sudo apt install gh

然后使用gh进行认证

$ gh auth login
# 输入你的用户名和token

如下图所示:使用键盘上下键选择对应项,回车键确认。
依次选择Github.com, HTTPS(如果使用的https协议)
在这里插入图片描述
根据自己使用的协议选择HTTPS或者SSH
在这里插入图片描述
输入Y或者y
在这里插入图片描述
选择使用网页浏览器认证或者粘贴token认证,二者选择一个即可。如果是ssh远程登录,命令行中无法打开远程的浏览器,那么只能选择token验证了。
在这里插入图片描述

选择使用网页认证:先复制命令行中生成的一次性验证码,比如我这里本次是5C38-D954。然后回车,自动打开网页浏览器,输入一次性验证码,授权即可完成认证。

在这里插入图片描述
如果上面选择使用token认证,那么输入你的token即可。
在这里插入图片描述

如果换了一台机器,那么重新生成一个新的token,然后gh auth login即可。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐