You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code克隆Gitea托管Git仓库报SSH权限拒绝问题咨询

故障原因
  • SSH Agent会话不共享:你在独立终端中手动启动ssh-agent、添加私钥的操作仅对当前终端会话生效。若VS Code未从该终端进程启动,其内部调用Git时无法继承SSH Agent的环境变量,也就无法获取已加载的私钥,最终触发权限校验失败。
  • GitLens登录提示与该问题无关:界面提示you are not signed in to any accounts是GitLens需要调用Gitea的开放API获取关联功能(如PR、Issue同步),和Git本身的SSH推拉权限完全无关,不属于本次报错的诱因。
解决方法

方案1:配置SSH全局配置(推荐,一劳永逸)

编辑SSH配置文件:

  • macOS/Linux路径:~/.ssh/config
  • Windows路径:C:\Users\你的用户名\.ssh\config
    添加以下配置:
Host vgit01x.whatever.jp
  HostName vgit01x.whatever.jp
  User git
  IdentityFile /path/to/privateKey
  AddKeysToAgent yes

保存后无需每次手动执行ssh-add,终端和VS Code访问该Gitea仓库时会自动调用指定私钥完成鉴权。
如果是Windows系统,额外开启OpenSSH Authentication Agent服务并设为自动启动即可实现私钥密码缓存。

方案2:继承终端环境变量启动VS Code

每次需要用VS Code操作Git前,先在执行过ssh-agent、ssh-add的终端中输入code命令启动VS Code,VS Code会继承当前终端的SSH Agent环境变量,即可正常完成鉴权。该方案临时可用,每次启动都需要走这个流程,不如方案1便捷。

可选配置:解决GitLens未登录提示

如果需要使用GitLens的Gitea关联功能,可在Gitea账户的「设置-应用」页面生成个人访问令牌(PAT),再打开GitLens插件设置,找到Gitea相关配置项,填入你的Gitea实例地址和生成的PAT即可完成登录,不配置也不影响Git的基础推拉功能。


内容的提问来源于stack exchange,提问作者BCArg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 07:18:03