github 的 token 使用方法

1,774 阅读2分钟

本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net

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 即可。