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

如何配置SSH Config实现两个GitLab账号同时正常使用

解决方案

核心问题原因

  • SSH默认会尝试ssh-agent中缓存的所有可用密钥,若先匹配到第一个账号的密钥,GitLab服务器验证通过后就不会再尝试后续密钥,访问第二个账号的仓库时就会报权限错误
  • GitLab SSH连接的固定用户为git,原配置中填写个人账号用户名属于非规范配置,即使偶然连通也存在兼容性风险

正确配置步骤

1. 修改SSH config配置

将~/.ssh/config文件替换为以下内容:

Host gitlab-roulette
    HostName gitlab.com
    User git
    IdentityFile /home/norayr_ghukasyan/.ssh/id_ed25519_roulette
    # 强制只使用指定的私钥认证,不使用ssh-agent缓存的其他密钥
    IdentitiesOnly yes

Host gitlab-devlix
    HostName gitlab.com
    User git
    IdentityFile /home/norayr_ghukasyan/.ssh/id_ed25519_devlix
    IdentitiesOnly yes

2. 调整仓库远程URL

针对第二个账号的本地仓库,修改远程地址为配置的Host别名:

git remote set-url origin git@gitlab-devlix:<你的仓库路径>.git
# 示例:git remote set-url origin git@gitlab-devlix:norayr.ghukasyan/demo-project.git

如果是新克隆仓库,直接使用对应别名即可:

# 克隆第一个账号的仓库
git clone git@gitlab-roulette:norayr.ghukasian/project1.git
# 克隆第二个账号的仓库
git clone git@gitlab-devlix:norayr.ghukasyan/project2.git

3. 验证配置是否生效

分别执行两条测试命令,确认都返回GitLab的欢迎提示:

ssh -T git@gitlab-roulette
ssh -T git@gitlab-devlix

如果都返回Welcome to GitLab, @xxx!的提示,说明两个账号的SSH配置都已正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:06:04