GitHub 连接远程仓库鉴权配置
技术 git 7

git clone​ 一个 GitHub 仓库时,提供两种协议链接

第一次操作时,会遇到鉴权验证问题,需要进行配置后,方可成功连接到远程仓库。

HTTPS

> git clone https://github.com/user/repo.git
Cloning into 'xx'...
Username for 'https://github.com':  # 登录用户名,例如邮箱
Password for 'https://github.com':  # PAT,切记不是登录密码

GitHub 推荐(且必须)使用 PAT(Personal Access Token,个人访问令牌)代替密码进行鉴权。

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

  • 唯一性:令牌特定于 GitHub,可以按使用或按设备生成。
  • 可撤销:可以随时单独撤销令牌,而无需更新未受影响的凭据。
  • 有限性:令牌可以方便设置权限。
  • 随机性:令牌不会受到简单密码可能会受到的字典类型或蛮力尝试的影响。

GitHub 支持两种类型的 PAT:fine-grained personal access token 和 personal access token (classic)。GitHub 推荐使用前者。PAT 的创建可见 GitHub 文档腾讯云

然而,每一次连接都需要鉴权,麻烦不少。可以使用 GitHub CLI 或 GitHub Desktop。同时 Git 也拥有一个凭证系统来处理此问题:

git config --global credential.helper xxx

同时允许配置多个凭证系统,更多可见 Git - 凭证存储

SSH

> git clone [email protected]:user/repo.git
Cloning into 'repo'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

需要配置 SSH 密钥。如何操作见 GitHub 文档,介绍得很清楚。

参考