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

Git部署密钥权限问题及多SSH密钥配置困惑求助

Git多SSH密钥配置及权限问题解决

同一机器完全可以配置多个SSH密钥,以下是针对你遇到问题的具体解决步骤:

1. 生成专属SSH密钥

打开终端,执行以下命令生成当前仓库的独立密钥(替换为你的Git账号邮箱):

ssh-keygen -t ed25519 -C "your-git-email@example.com"

当提示输入保存路径时,不要用默认的~/.ssh/id_ed25519,改成类似~/.ssh/id_ed25519_c_assignments的名字,避免和已有的密钥冲突。后续按提示设置密钥密码(可选)即可。

2. 配置SSH规则文件

在~/.ssh目录下创建或编辑config文件,添加以下内容,让Git针对不同仓库自动匹配对应密钥:

# 原有仓库(对应已存在的密钥)
Host github.com-old-repo
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519

# C-Assignments仓库(对应新生成的密钥)
Host github.com-c-assignments
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_c_assignments

Host字段可以自定义,只要能区分不同仓库就行。

3. 更新当前仓库的远程地址

把当前仓库的远程地址中的github.com替换成上面配置的Host名称。比如原来的远程地址是git@github.com:adivenkat05/C-Assignments.git,改成:

git@github.com-c-assignments:adivenkat05/C-Assignments.git

执行以下命令完成更新:

git remote set-url origin git@github.com-c-assignments:adivenkat05/C-Assignments.git

4. 添加新密钥为仓库的Deploy Key

登录Git服务器(比如GitHub),进入adivenkat05/C-Assignments仓库的设置页面,找到Deploy Keys选项,点击「Add deploy key」,把本地~/.ssh/id_ed25519_c_assignments.pub文件里的内容粘贴进去,勾选「Allow write access」(需要推送权限的话必须勾),最后保存。

5. 验证连接并完成推送

先测试SSH连接是否正常:

ssh -T git@github.com-c-assignments

如果收到成功认证的提示,就可以执行推送命令关联分支并推送:

git push --set-upstream origin main

另外,最初的「当前分支无上游分支」错误,本质是本地分支未与远程分支绑定,上面的--set-upstream参数就是用来完成这个绑定的,解决密钥权限问题后就能正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:06:50