本文由 简悦 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 文档
这里给出简要的步骤:
-
进入个人 github 账户 setting
-
点击 Developer settings
-
选择 Personal access tokens
-
点击 Generate new token
-
为你创建的 token 添加描述
-
选择 token 有效期时间。可以选择永不过期
-
为 token 赋予权限。如果从命令行操作仓库,至少选中 repo
-
点击生成。生成之后先复制下来,后面会用到。注意:离开这个页面,之后你将看不见这个 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 即可。