解决 GitHub 认证失败与 HTTPS 迁移 SSH 的实战记录
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 公钥
-
复制本地公钥
~/.ssh/id_ed25519.pub的内容。 -
进入 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,需检查本地代理软件状态。
更多推荐

所有评论(0)