Peekaboo
Hrbust
Github生成个人访问令牌
September 30, 2022
Github笔记
Creating a personal access token
从 2021 年 8 月 13 日开始,在 GitHub.com 上对 Git 操作进行身份验证时,将不再接受帐户密码。
与基于密码的身份验证相比,令牌提供了许多安全优势:
- 唯一——令牌特定于 GitHub,可以按使用或按设备生成
- 可撤销——令牌可以随时单独撤销,无需更新未受影响的凭据
- 有限——令牌的范围可以很窄,只允许用例所需的访问权限
- 随机- 令牌不受字典类型或暴力尝试的影响,您需要记住或定期输入的更简单的密码
作为安全预防措施,GitHub 会自动删除一年内未使用过的个人访问令牌。 为了提供进一步的安全性,强烈建议将过期时间添加到个人访问令牌。
创建令牌
- 验证电子邮件地址(如果尚未验证)。
- 在任何页面的右上角,单击个人资料照片,然后单击“设置”。
- In the left sidebar, click Developer settings.
- In the left sidebar, click Personal access tokens.
- Click Generate new token.
- Give your token a descriptive name.
- 若要为令牌提供到期时间,请选择“到期”下拉菜单,然后单击默认值或使用日历选择器。选择要授予此令牌的作用域或权限。 若要使用令牌从命令行访问存储库,请选择repo.
- 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 凭据”。
参考文献
- Creating a personal access tokengithub官方教程
- Token authentication requirements for Git operationsgithub官方对取消账户密码进行Git操作的说明