1. 现象描述

在执行 git clone 时,即便输入了正确的 GitHub 账号密码,依然反复报错:

remote: Support for password authentication was removed on August 13, 2021.

或者遇到代理连接错误:Failed to connect to 127.0.0.1 port 7890

2. 深度分析:为什么这次需要身份验证?

很多开发者习惯了直接 git clone 公开仓库且无需账密,但在参与协作项目时会遇到阻碍,原因如下:

  • 仓库权限差异:克隆 Public(公开) 仓库是匿名只读操作,无需验证;但当你被邀请完善某个仓库,或者克隆 Private(私有) 仓库时,GitHub 必须确认你拥有访问/修改权限。

  • 认证策略变更:GitHub 已全面停止支持 HTTPS 协议下的“用户名+密码”认证。即使弹出输入框,也必须输入 Personal Access Token (PAT) 而非网页登录密码。

  • SSH 的优越性:切换为 SSH 模式后,GitHub 通过“非对称加密密钥对”自动识别你的开发者身份,既解决了私有仓库的权限校验问题,又免去了频繁输入 Token 的麻烦。

3. 解决方案:切换至 SSH 模式(推荐)

第一步:生成密钥对

在终端执行:

Bash

ssh-keygen -t ed25519 -C "your_email@example.com"
第二步:配置 GitHub 公钥
  1. 复制本地公钥 ~/.ssh/id_ed25519.pub 的内容。

  2. 进入 GitHub Settings -> SSH and GPG keys,添加 New SSH key

第三步:建立信任连接

使用 SSH 格式地址重新 Clone:

Bash

git clone git@github.com:Username/Repository.git

注意:首次连接需完整输入 yes 以建立本地信任列表。

4. 经验总结

  • 权限决定交互:一旦涉及协作邀请或私有库,必须配置身份验证。

  • 首选 SSH:HTTPS 地址走 Token,SSH 地址走密钥。对于长期开发,SSH 是“一劳永逸”的选择。

  • 网络环境:若报错涉及 127.0.0.1,需检查本地代理软件状态。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐