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

误删id_rsa_gitlab文件,克隆GitLab时出现“no such identity”错误求助

解决GitLab克隆时id_rsa_gitlab文件缺失的问题

问题原因

系统尝试使用指定的SSH密钥文件/Users/directory/.ssh/id_rsa_gitlab进行GitLab身份验证,但该文件已被删除,导致身份验证失败。

解决步骤

1. 重新生成GitLab专用SSH密钥

打开终端,执行以下命令生成新的密钥对:

ssh-keygen -t ed25519 -C "你的GitLab绑定邮箱"

执行后会提示输入保存路径,输入:

/Users/directory/.ssh/id_rsa_gitlab

后续按提示设置密码(可直接回车跳过无密码模式),完成后会生成id_rsa_gitlab(私钥)和id_rsa_gitlab.pub(公钥)两个文件。

2. 将公钥添加到GitLab账户

复制公钥文件的全部内容:

cat /Users/directory/.ssh/id_rsa_gitlab.pub

登录GitLab账户,进入个人设置 > SSH密钥,将复制的公钥内容粘贴到输入框,设置密钥名称(如“本地开发密钥”)后点击保存。

3. 检查并确认SSH配置

打开~/.ssh/config文件,确认是否存在针对GitLab的配置项:

Host gitlab.com
  Hostname gitlab.com
  User git
  IdentityFile /Users/directory/.ssh/id_rsa_gitlab

如果存在上述配置,确保IdentityFile路径与新生成的密钥一致;如果没有配置,可添加上述内容,让GitLab克隆操作自动使用该密钥。

4. CI/CD管道适配(若涉及)

如果你的CI/CD管道依赖该密钥:

  • 复制新生成的id_rsa_gitlab私钥内容
  • 进入GitLab项目的设置 > CI/CD > 变量,添加名为SSH_PRIVATE_KEY的变量,值为私钥内容(可选勾选“保护变量”)
  • 在管道脚本中添加写入密钥文件的步骤:
mkdir -p ~/.ssh
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa_gitlab
chmod 600 ~/.ssh/id_rsa_gitlab

完成以上步骤后,重新尝试克隆代码即可正常完成身份验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 11:01:37