跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash大前端

GitHub 推送报错?用 SSH 密钥替代密码认证方案

GitHub 停止支持 HTTPS 密码认证后,开发者常遇身份验证失败。通过生成 Ed25519 密钥、配置远程仓库地址及测试连接,可切换至 SSH 模式实现免密推送。

KernelLab发布于 2026/3/28更新于 2026/10/2688 浏览
GitHub 推送报错?用 SSH 密钥替代密码认证方案

遇到 HTTPS 认证失败怎么办

最近不少开发者在操作 Git 时遇到了 remote: Invalid username or token. Password authentication is not supported for Git operations 的报错。这是因为 GitHub 已不再支持通过账号密码进行 HTTPS 推送,我们需要切换到 SSH 密钥模式来解决这个问题。

1. 生成 SSH 密钥

在终端执行以下命令生成密钥对:

ssh-keygen -t ed25519 -C "[email protected]"

这里的 -t 参数指定了密钥类型。推荐使用 ed25519,相比传统的 RSA,它基于椭圆曲线算法,不仅更安全、密钥更短,而且验证速度也更快。按提示一路回车即可,默认保存在 ~/.ssh/ 目录下。

2. 将公钥添加到 GitHub

生成完成后,查看并复制公钥内容:

cat ~/.ssh/id_ed25519.pub

登录 GitHub,进入 Settings -> SSH and GPG keys -> New SSH key。将刚才复制的内容粘贴进去,Title 随便起一个方便识别的名字,密钥类型保持默认的 Authentication key,点击 Add SSH key 保存。

SSH Key 配置界面

3. 修改远程仓库地址

现在需要把本地仓库的远程地址从 HTTPS 改为 SSH 格式。在项目根目录执行:

git remote set-url origin [email protected]:username/reponame.git

记得把 username 和 reponame 替换成你自己的 GitHub 用户名和仓库名。这一步相当于告诉 Git 以后通过这个新的 SSH 通道去连接服务器。

4. 测试连接是否成功

配置完密钥后,先别急着推代码,最好验证一下连接状态:

ssh -T [email protected]

如果看到类似下面的提示,说明 SSH 配置没问题:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

这里的 username 会显示为你的 GitHub 用户名。如果一切正常,就可以继续下一步了。

5. 首次推送与后续操作

最后尝试推送代码:

git push -u origin master

这次应该能直接成功,不会再弹窗让你输密码或 Token。其中 -u 参数是 --set-upstream 的简写,它建立了本地 master 分支和远程 origin/master 的关联。以后只需要写 git push 或 git pull 即可,无需再输入那一长串命令。

目录

  1. 遇到 HTTPS 认证失败怎么办
  2. 1. 生成 SSH 密钥
  3. 2. 将公钥添加到 GitHub
  4. 3. 修改远程仓库地址
  5. 4. 测试连接是否成功
  6. 5. 首次推送与后续操作

更多推荐文章

查看全部
  • 论文 AI 检测率过高?5 款实用工具与人工润色技巧解析
  • 基于 Coze 构建 AI 应用及 Web 部署指南
  • Ubuntu 部署 OpenClaw 实战指南
  • Z-Image-Turbo 与 Stable Diffusion 实战对比:生成速度提升分析
  • OpenClaw 多飞书机器人配置指南
  • Windows 环境下 faster-whisper 部署:CUDA 加速与 PyAV 依赖配置
  • Cocos2d-x ScaleTo 与 ScaleBy 动作详解
  • TRAE 接入方舟 Coding Plan 配置教程
  • Java LangChain4j 核心实战与集成指南
  • VS Code Remote WSL 中 GitHub Copilot 代理配置问题及解决
  • Git 基础:命令、分支与远程仓库管理
  • faster-whisper 语音识别技术详解与实战
  • ROS2+Gazebo+PX4 仿真环境搭建与无人机起飞指南
  • Baichuan-M2-32B 医疗文献综述自动写作效果评测
  • 记一次 VS Code Remote WSL 中 Copilot 代理问题的修复
  • 前端高频面试题:TypeScript 篇
  • RAG 架构工程实践:分块策略、混合检索与重排序
  • 【AI】谷歌TurboQuant算法:内存占用减少至少6倍
  • 使用 Ollama 本地部署 Llama 3.1 模型
  • Spring Web MVC 核心注解与实战解析

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online