Git 客户端在尝试通过 HTTPS 克隆一个 GitHub 仓库时遇到了以下错误
1 | remote: Support for password authentication was removed on August 13, 2021. |
错误信息的意思是:
remote: Support for password authentication was removed on August 13, 2021.
表示从 2021 年 8 月 13 日起,GitHub 已不再支持通过密码进行身份验证。这是为了提高安全性,GitHub 鼓励用户使用更安全的认证方式,比如个人访问令牌(Personal Access Token,简称 PAT)或 SSH 密钥。
remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
这是提示用户访问提供的链接,以获取目前推荐的认证方式的相关信息。
fatal: Authentication failed for 'https://github.com/byronlau/HappyFather.git/'
表示认证失败,因为 Git 客户端尝试使用不再支持的密码认证方式。
要解决这个问题,你需要按照以下步骤操作:
- 访问提供的链接,了解如何设置个人访问令牌或 SSH 密钥。
- 在 GitHub 账户设置中生成一个个人访问令牌(如果选择使用这种方式)。
- 将生成的个人访问令牌或 SSH 密钥添加到你的 Git 客户端的认证配置中。
- 再次尝试克隆仓库,这次应该使用新的认证方式。
具体操作如下
要拉取(克隆)GitHub 仓库,你需要使用一种受支持的认证方式。以下是使用 HTTPS 和个人访问令牌(PAT)的步骤:
生成个人访问令牌(PAT):
- 登录你的 GitHub 账户。
- 访问设置页面,找到“Developer settings”部分。
- 在“Personal access tokens”中生成一个新的访问令牌。
- 确保你的访问令牌具有足够的权限来执行所需的操作(例如克隆仓库)。
- 生成后,确保复制并保存你的新令牌,因为它不会再次显示。
使用 Git 客户端克隆仓库:
- 打开命令行或终端。
- 使用
git clone
命令,并在 URL 中使用你的个人访问令牌代替密码。格式如下:例如:1
git clone https://用户名:令牌@github.com/用户名/仓库名.git
注意:将1
git clone https://username:token@github.com/byronlau/HappyFather.git
username
替换为你的 GitHub 用户名,将token
替换为你的个人访问令牌。
输入令牌:
- 当你执行上述
git clone
命令时,系统可能会提示你输入令牌。这时,粘贴你之前保存的令牌。
- 当你执行上述
完成克隆:
- 如果一切设置正确,Git 将开始克隆仓库到你的本地机器。
如果你更喜欢使用 SSH 认证方式,你需要生成 SSH 密钥对,并将公钥添加到你的 GitHub 账户中。以下是使用 SSH 的步骤:
生成 SSH 密钥对:
- 在本地计算机上打开终端或命令提示符。
- 运行
ssh-keygen
命令并按照提示操作,生成一个新的 SSH 密钥对。
添加 SSH 公钥到 GitHub 账户:
- 将生成的公钥(通常是
.pub
文件)的内容复制到 GitHub 账户的 SSH 密钥设置中。
- 将生成的公钥(通常是
使用 SSH URL 克隆仓库:
- 找到仓库的 SSH URL,它看起来像这样:
1
git@github.com:byronlau/HappyFather.git
- 使用
git clone
命令和 SSH URL:1
git clone git@github.com:byronlau/HappyFather.git
- 找到仓库的 SSH URL,它看起来像这样:
完成克隆:
- 如果你的 SSH 密钥设置正确,Git 将使用 SSH 密钥来克隆仓库。