VSCode解决Git权限报错:免密推送代码至GitHub配置教程

风宇同学_3507

风宇同学_3507

2026-04-17

741人浏览

原创

根本原因是 git 远程地址为 https 格式且 ssh agent 未运行或密钥未加载;需先改 remote url 为 git@github.com:user/repo.git,再执行 eval "$(ssh-agent -s)" 和 ssh-add ~/.ssh/id_ed25519,并确保私钥权限为 600。

vscode解决git权限报错:免密推送代码至github配置教程

VSCode 里 Git 推送报 Permission denied (publickey),根本原因不是 VSCode 没配好,而是 Git 命令本身在终端里就走不通——VSCode 只是复用了你系统的 shell 环境。

检查当前 remote 地址是不是 SSH 格式

VSCode 的 Git 面板不会主动帮你把 HTTPS 改成 SSH。如果你 clone 的是 https://github.com/user/repo.git,后续所有 push/pull 都会走 HTTPS 协议,哪怕你生成了密钥也没用。

  • 进项目根目录,打开 VSCode 集成终端(Ctrl + `),运行:git remote get-url origin
  • 如果输出是 https://...,必须手动改掉:git remote set-url origin git@github.com:user/repo.git
  • 改完再运行一次 git remote get-url origin 确认已变成 git@... 开头

验证 SSH 密钥是否真能被 git 调用

VSCode 启动时会加载系统 shell(如 PowerShell 或 Git Bash)的环境,但不保证自动启动 ssh-agent 或加载私钥。很多“免密失败”其实卡在这一步。

myfirstgit
myfirstgit

通过 CLI 与 GitHub 交互,列出仓库、Issues、Pull Requests,并在自己的仓库中创建新 Issues。

下载
  • 在 VSCode 终端里执行:ssh -T git@github.com
  • 如果返回 Welcome to GitHub, xxx!,说明密钥可用;如果仍报 Permission denied (publickey),说明 agent 没加载或权限不对
  • 补救操作(仅需一次):eval "$(ssh-agent -s)",然后 ssh-add ~/.ssh/id_ed25519(路径按你实际生成位置调整)
  • Windows 用户注意:~/.ssh/id_ed25519 实际路径通常是 C:Users你的用户名.sshid_ed25519

确保私钥文件权限严格(尤其 Windows WSL 或 Git Bash)

OpenSSH 对私钥权限敏感。如果私钥被设为“所有人可读”,ssh-add 会静默拒绝加载,导致后续所有 SSH 操作失败。

  • 在 Git Bash 中运行:chmod 600 ~/.ssh/id_ed25519
  • PowerShell 不支持 chmod,可改用:icacls ~/.ssh/id_ed25519 /reset /inheritance:r /grant:r "$env:USERNAME:(R)"
  • 别碰 id_ed25519.pub 权限,它本来就要公开

VSCode 自身配置只需确认 git.path 正确

VSCode 不需要单独“登录 GitHub”或填账号密码。它只依赖系统 Git 和你终端里的 SSH 环境。唯一要核对的是它有没有找到真正的 git.exe。

  • 打开设置(Ctrl + ,),搜 git.path
  • 点“在 settings.json 中编辑”,确认值是类似:"git.path": "C:\Program Files\Git\bin\git.exe"
  • 注意:不能填 cmd\git.exe(那是 cmd 封装器),必须是 bin\git.exe,否则 SSH 不生效
  • 改完重启 VSCode 终端(关掉再开一个 Ctrl + `)

最常被忽略的其实是 ssh-agent 没持续运行,以及 remote URL 还卡在 HTTPS。这两点没搞定,其他所有操作都是白忙。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode git github

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

5119

9

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

1580

6

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

2023.07.24

914

5

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

3337

7

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

3001

6

vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1175

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2332

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1809

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1627

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程