Peekaboo
Publications
Talks
Teaching
Blog Posts
Peekaboo
github
Hrbust
Bilibili

Github生成个人访问令牌

September 30, 2022
Github笔记

Creating a personal access token

从 2021 年 8 月 13 日开始,在 GitHub.com 上对 Git 操作进行身份验证时,将不再接受帐户密码。

与基于密码的身份验证相比,令牌提供了许多安全优势:

  1. 唯一——令牌特定于 GitHub,可以按使用或按设备生成
  2. 可撤销——令牌可以随时单独撤销,无需更新未受影响的凭据
  3. 有限——令牌的范围可以很窄,只允许用例所需的访问权限
  4. 随机- 令牌不受字典类型或暴力尝试的影响,您需要记住或定期输入的更简单的密码

作为安全预防措施,GitHub 会自动删除一年内未使用过的个人访问令牌。 为了提供进一步的安全性,强烈建议将过期时间添加到个人访问令牌。

创建令牌

  1. 验证电子邮件地址(如果尚未验证)。
  2. 在任何页面的右上角,单击个人资料照片,然后单击“设置”。
  3. In the left sidebar, click Developer settings.
  4. In the left sidebar, click Personal access tokens.
  5. Click Generate new token.
  6. Give your token a descriptive name.
  7. 若要为令牌提供到期时间,请选择“到期”下拉菜单,然后单击默认值或使用日历选择器。选择要授予此令牌的作用域或权限。 若要使用令牌从命令行访问存储库,请选择repo.
  8. Click Generate token.

警告:请将令牌视为密码,并保密。 使用 API 时,应将令牌用作环境变量,而不是将其硬编码到程序中。

在命令行上使用令牌

如果您有令牌,则可以在通过 HTTPS 执行 Git 操作时输入令牌,而不是密码。

例如,在命令行中输入以下内容:

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

个人访问令牌只能用于 HTTPS Git 操作。 如果存储库使用 SSH 远程 URL,则需要将远程 URL 从 SSH 切换到 HTTPS

如果没有提示您输入用户名和密码,说明您的凭据可能已缓存在计算机上。 可在密钥链中更新凭据,从而用令牌替换旧密码。

您可以使用 Git 客户端缓存 PAT,而不必为每个 HTTPS Git 操作手动输入 PAT。 Git 会将您的凭据临时存储在内存中,直到过期为止。 您还可以将令牌存储在 Git 可以在每个请求之前读取的纯文本文件中。 有关详细信息,请参阅“在 Git 中缓存 GitHub 凭据”。

参考文献

  1. Creating a personal access tokengithub官方教程
  2. Token authentication requirements for Git operationsgithub官方对取消账户密码进行Git操作的说明