在另一台电脑克隆 GitLab 仓库,至少涉及四件事:访问哪个实例、用什么凭据认证、账号能读哪个仓库,以及提交记录署什么名字。它们不能互相替代。

先确认实例和仓库

自建 GitLab 与公共 GitLab 的账号和登录配置不一定相同。应先登录正确实例,确认账号具有项目权限,再从项目页取得 SSH 克隆地址。

是否支持第三方登录也由目标实例决定,不能把另一个网站的注册方式当作自建实例必备步骤。

生成密钥,只上传公钥

确认机器上没有需要复用或保护的密钥后,再按目标实例支持的类型生成。例如:

ssh-keygen -t ed25519 -C "gitlab-key" -f ~/.ssh/id_ed25519_gitlab_example

若目标路径已存在,不要覆盖。设置合适的私钥口令,上传的是 .pub 公钥,私钥应只保存在受保护的位置。目标版本或安全策略不支持该类型时,按相应文档选择。GitLab SSH 指南

首次连接时从可信渠道核对主机指纹,不要无条件接受未知主机密钥。多密钥环境还要配置正确的 IdentityFile 或客户端密钥选择,再使用项目提供的实际地址克隆:

git clone git@gitlab.example.invalid:team/project.git

这里的地址仅为示意。认证成功也不自动代表拥有所有仓库权限。

提交身份不是登录凭据

在已有仓库里,可按需要配置本仓库的提交作者:

git config --local user.name "Your Name"
git config --local user.email "you@example.invalid"

这些值影响提交记录,不会帮助 SSH 登录,也不会授予项目访问权。—global 则影响该用户的其他仓库,应先决定范围。

TortoiseGit 一直弹密码框怎么办

先读提示:它问的是远端账号密码、HTTPS 令牌,还是解锁本地私钥的 passphrase?再确认使用 OpenSSH 还是 PuTTY/Plink,以及远端 URL 的协议。

只有确定客户端需要 PPK 等格式时,才使用 PuTTYgen 载入受授权的现有私钥、输入其口令,并另存为新文件,再在 TortoiseGit 或相关会话中选中它。不要覆盖原件,也不要把私钥上传到网站转换。

PuTTY 会话和 Pageant 可以参与密钥选择,但并非每次弹框都需要转换密钥。TortoiseGit SSH/PuTTY 说明

最后分别验证认证、仓库读取和提交署名。把错误提示与对应环节对齐,比统一称作“Git 密码不对”更容易定位问题。