编辑
2024-01-16
TechNotes
00

目录

前言
完美的解决(GitHub CLI)
安装GitHub CLI (Linux / windows)
windows (WinGet)
CentOS
Debian、Ubuntu Linux、Raspberry Pi OS (apt)
Fedora、CentOS、Red Hat Enterprise Linux (dnf)
Amazon Linux 2 (yum)
openSUSE/SUSE Linux (zypper)
使用GitHub CLI
Github Token认证
1. 创建 Personal Access Token (PAT)
2. 使用 Personal Access Token (PAT)
在 Git 操作中使用
在命令行中使用 GitHub CLI (gh)
在 API 请求中使用
3. 更新或撤销 Personal Access Token

前言

在拉取Github私人仓库的代码时会提示你输入用户名和密码, 但在输入完成后仍然无法拉取, 在查阅官方文档后, 找到了完美的解决方案

当然也可以在github中创建Token来当做密码输入拉取镜像, 也是一种及其安全的方式, 可以设置各种访问权限及Token的有效期限, 这里也会介绍

完美的解决(GitHub CLI)

使用GitHub CLI在 Git 中缓存你的 GitHub 凭证

  • 实现原理:

    HTTPS当您选择作为 Git 操作的首选协议并在询问您是否要使用 GitHub 凭据向 Git 进行身份验证的提示时回答“是”时,GitHub CLI 将自动为您存储您的 Git 凭据。

安装GitHub CLI (Linux / windows)

windows (WinGet)

  • 切换到管理员

安装命令:

powershell
winget install --id GitHub.cli

升级命令:

powershell
winget upgrade --id GitHub.cli

具体请参考:官方安装文档

CentOS

bash
sudo yum install yum-utils -y \ && sudo yum-config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo \ && sudo yum install gh -y

升级命令:

bash
sudo yum update gh

Debian、Ubuntu Linux、Raspberry Pi OS (apt)

安装命令:

bash
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \ && sudo mkdir -p -m 755 /etc/apt/keyrings \ && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \ && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ && sudo apt update \ && sudo apt install gh -y

升级命令:

bash
sudo apt update sudo apt install gh

Fedora、CentOS、Red Hat Enterprise Linux (dnf)

从我们的软件包仓库安装以立即获取最新版本:

bash
sudo dnf install 'dnf-command(config-manager)' sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo sudo dnf install gh --repo gh-cli

或者,从社区仓库安装:

bash
sudo dnf install gh

升级命令:

bash
sudo dnf update gh

Amazon Linux 2 (yum)

使用我们的软件包仓库安装以立即获取最新版本:

bash
type -p yum-config-manager >/dev/null || sudo yum install yum-utils sudo yum-config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo sudo yum install gh

注意:
我们最近被迫更改了 GPG 签名密钥。如果你之前添加了该仓库,现在遇到 GPG 签名密钥错误,首先使用以下命令禁用仓库:

bash
sudo yum-config-manager --disable gh-cli

然后再次添加:

bash
sudo yum-config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo

升级命令:

bash
sudo yum update gh

openSUSE/SUSE Linux (zypper)

安装命令:

bash
sudo zypper addrepo https://cli.github.com/packages/rpm/gh-cli.repo sudo zypper ref sudo zypper install gh

升级命令:

bash
sudo zypper ref sudo zypper update gh

使用GitHub CLI

  • 在命令行中输入gh auth login,然后按照提示进行操作。
    • 当系统提示您选择 Git 操作的首选协议时,选择HTTPS。
    • 当系统询问您是否要使用 GitHub 凭据向 Git 进行身份验证时,请输入Y。

image.png

认证成功后, 拉取私人仓库代码就不需要用户密码认证了

Github Token认证

GitHub 的 token 认证(Personal Access Token, PAT)是一种安全的认证方式,用于替代传统的用户名和密码。在 GitHub 的各种操作中,例如推送代码、访问 API、自动化脚本等,使用 PAT 可以提供更高的安全性。以下是 GitHub Token 认证的流程:

1. 创建 Personal Access Token (PAT)

  1. 登录 GitHub:访问 GitHub 网站并登录你的账户。

  2. 进入开发者设置

    • 点击右上角头像,选择 Settings(设置)
    • 在左侧菜单中选择 Developer settings(开发者设置)
  3. 生成新 Token

    • Personal access tokens 中,点击 Tokens (classic)
    • 点击 Generate new tokenGenerate new token (classic)
  4. 配置 Token 权限

    • 为 Token 添加名称。
    • 设置 Token 的有效期(默认无过期时间)。
    • 选择你需要的权限(作用域),例如 repo 访问仓库权限,admin:org 管理组织权限等。
    • 点击 Generate token
  5. 保存 Token

    • 生成后,GitHub 会显示你的 Token。务必复制并保存,因为离开页面后无法再次查看。

2. 使用 Personal Access Token (PAT)

在 Git 操作中使用

当你使用 Git 推送代码、克隆仓库或执行其他需要身份验证的操作时,Git 会提示你输入密码。在这个提示中,你可以使用生成的 PAT 代替 GitHub 密码。

bash
git clone https://github.com/username/repo.git # When prompted for a password, enter your PAT instead.

在命令行中使用 GitHub CLI (gh)

  1. 安装并初始化 GitHub CLI:

    bash
    gh auth login
  2. 选择 GitHub.com,选择使用 PAT 进行身份验证,然后输入你生成的 PAT。

在 API 请求中使用

在使用 GitHub API 时,你可以将 PAT 放入请求头中进行认证。

bash
curl -H "Authorization: token YOUR_TOKEN_HERE" https://api.github.com/user

3. 更新或撤销 Personal Access Token

  • 更新 Token 权限:可以随时返回到 GitHub 设置页面,选择要修改的 Token,点击 Edit 进行更新。

  • 撤销 Token:在需要时,可以选择 Delete 来撤销 Token 的访问权限。

通过这种方式,使用 Personal Access Token 可以安全地管理 GitHub 上的身份验证,并替代传统的用户名和密码认证方式。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:GYC

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!