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

被折叠的 条评论
为什么被折叠?



