当Github启用PSA之后...

当Github启用2FA之后…

因为github强制启用2FA(双因素二次认证),本来感觉只是网页登录的时候麻烦。因为大部分时候我们不需要每次都从网页登录。所以后面就设置了2FA,倒是问题不大。谁知道后面才发现还需要强制试用personal access token(个人登录令牌),操作似乎也不复杂,官方都有详细的介绍。但是在这之后出现的问题却始料未及。

  1. vscode竟然不能push代码了。
  2. wsl或者linux里面也不能轻松的试用git命令push代码了。每次都需要输入用户名和密码。而且输入的还必须是你的personal access token.怎么办呐?

怎么办?

官方有这么一句:使用 GitHub API 或命令行时,可使用 Personal access token 替代密码向 GitHub 进行身份验证。. 你也许觉得不就是用一长串token代替了密码吗?搞那么复杂干嘛?其实并非这样。你不需要每次都输入personal access token。官方还有这样两个点的描述:

  • 若要从命令行访问 GitHub,可以使用 GitHub CLI 或 Git 凭据管理器,而不是创建 personal access token。
  • 在 GitHub Actions 工作流中使用 personal access token 时,请考虑是否可以改用内置 GITHUB_TOKEN。 有关详细信息,请参阅“自动令牌身份验证”。

官方也给出了github CLI的链接Git 凭据管理器的链接.

Github CLI

程序员都直到CLI的意思:command line interface.翻译成中文就是命令行接口。官方对它的描述是:

GitHub CLI 是一个命令行工具,可将拉取请求、议题、GitHub Actions 和其他 GitHub 功能引入终端,使您可以在一个地方完成所有工作。

安装并不复杂。我这里就说说wsl(debian)和windows里面怎么安装它。
如果你的环境是debian系的,可以简单的通过sudo apt install gh来安装。当然它也是支持其它系统,比如windows,macos或其它版本的linux。欲了解详情,可查看这里的详细描述
如果你想在windows里面安装,直接在终端(powershell)里面输入下面的命令winget install --id GitHub.cli即可完成安装。当然如果你用vscode打开本地项目,也可以在vscode的终端里面输入。本质是一样的。

方法1 (我自己是失败的)

安装完之后就可以直接操作了,官方也有详细指导.
就是输入用户名:

gh auth login --hostname <hostname>

然后会问你是试用https还是tts,默认https。(如果你的网络配置好了ssh,也可选择后者。)我直接选择https(点Enter)。
接着第二个问题会问你git认证选择github认证?输入Y。
第三个问题是你选择通过浏览器还是认证token认证?根据你的需要,前者比较简单。如果你试用过2FA认证流程即可。它会打开一个浏览器进行认证。后者是输入你的personal access token。根据需要即可。

但是如果你的网络有问题,会这样提示:

error connecting to <your username>
check your internet connection or https://githubstatus.com

我的github经常有这种问题,我不知道是该·诅+咒=谁。我打开https://www.githubstatus.com/测试也是正常的就是会提示这个错误。

你可以通过通过配置dns或者某种科学方式登录github之后,也要确保从命令行可以访问到github。

方法2 (我自己是成功的)

这次输入的命令稍微不同,试用的是:

gh auth login

然后其它的路径相同。如果在wsl里面操作,不能选择浏览器打开(会失败,不过你可以试一下)。可以输入你的personal access token。 这次就成功了。成功的标志是:

✓ Configured git protocol
✓ Logged in as <your username>

Git凭据管理器

我暂时没有试用这种方式。如果用到再来更新。

相关推荐

  1. Github启用PSA之后...

    2024-03-10 12:52:04       20 阅读
  2. android OTA升级之后,apk崩溃无法启动

    2024-03-10 12:52:04       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-10 12:52:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-10 12:52:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-10 12:52:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-10 12:52:04       20 阅读

热门阅读

  1. 鸿蒙 进程模型-公共事件

    2024-03-10 12:52:04       20 阅读
  2. 解释 Git 的基本概念和使用方式

    2024-03-10 12:52:04       23 阅读
  3. VGG16-CF-VGG11实验报告

    2024-03-10 12:52:04       23 阅读
  4. vscode中开发goalng,debug时遇到的tools报错问题

    2024-03-10 12:52:04       23 阅读
  5. 用spark进行数据查询常用语法总结

    2024-03-10 12:52:04       24 阅读
  6. 数据仓库的主流分层架构

    2024-03-10 12:52:04       26 阅读
  7. 基于qt实现的类的序列化和反序列化

    2024-03-10 12:52:04       23 阅读
  8. 云原生技术实践:Kubernetes集群的部署与运维

    2024-03-10 12:52:04       19 阅读
  9. pytorch CV入门4-使用MobileNet解决视觉相关问题

    2024-03-10 12:52:04       19 阅读
  10. 【pytorch可视化工具】

    2024-03-10 12:52:04       24 阅读
  11. 基于Python调用SCIP求解器的入门文档

    2024-03-10 12:52:04       28 阅读