Git Kraken连接自托管GitLab时推送需重复认证问题求助
解决Git Kraken推送重复认证及SSH配置问题
一、解决推送重复认证问题
1. 配置Git全局凭据存储
Windows环境下,让Git将凭据存入系统凭据管理器,Git Kraken会复用该配置:
git config --global credential.helper manager-core
执行后,再次推送时输入GitLab用户名+个人访问令牌(令牌需具备write_repository和api权限,LFS推送依赖api权限),勾选“记住我”后即可自动存储凭据。
2. 手动添加凭据到Windows凭据管理器
若自动存储失效,手动添加确保凭据被持久化:
- 打开「控制面板→用户账户→凭据管理器→Windows凭据」
- 查找对应GitLab的条目(格式为
git:https://你的GitLab域名),将密码替换为你的个人访问令牌;若没有条目,点击「添加通用凭据」,填写GitLab地址、用户名、访问令牌。
3. 同步Git LFS凭据配置
LFS的凭据助手需与Git保持一致,执行以下命令统一配置:
git config --global lfs.credentialhelper manager-core
二、完成SSH密钥配置(彻底免密推送)
1. 生成SSH密钥(Git Bash执行)
推荐使用更安全的ed25519算法,Git Bash中运行:
ssh-keygen -t ed25519 -C "你的邮箱@xxx.com"
全程回车默认生成,密钥文件会保存在C:\Users\你的用户名\.ssh\目录下(id_ed25519为私钥,id_ed25519.pub为公钥)。旧系统不支持ed25519时,改用RSA算法:
ssh-keygen -t rsa -b 4096 -C "你的邮箱@xxx.com"
2. 将公钥添加到GitLab
- 打开
id_ed25519.pub文件,复制全部内容 - 登录自托管GitLab→右上角头像→「设置」→「SSH密钥」→粘贴公钥,填写设备名称作为标题,点击「添加密钥」
3. 配置Git Kraken使用SSH密钥
- 打开Git Kraken→左上角「文件」→「偏好设置」→「SSH」
- 选择「使用系统SSH」(复用本地生成的密钥),或选择「使用Git Kraken SSH」后导入本地私钥文件(
id_ed25519) - 测试连接:右键仓库远程地址→「测试连接」,显示成功则配置生效
4. 命令行验证SSH连接
Git Bash中运行以下命令验证连通性:
ssh -T git@你的GitLab域名
返回Welcome to GitLab, @你的用户名!即为成功。若失败,排查以下点:
- 端口检查:若GitLab修改了SSH端口,需加
-p参数,如ssh -T git@你的GitLab域名 -p 2222 - 权限检查:
.ssh文件夹需设置为仅当前用户可访问(右键文件夹→属性→安全→高级→禁用继承→删除非当前用户的权限)
5. 切换仓库远程地址为SSH格式
若之前用HTTPS地址,执行命令切换为SSH:
git remote set-url origin git@你的GitLab域名:组名/仓库名.git
额外排查点
- 确保Git Kraken为最新版本,旧版本可能存在凭据存储bug
- 若GitLab使用自签名HTTPS证书,需在Git中配置信任证书:
(或临时关闭SSL验证测试:git config --global http.sslCAInfo "证书文件路径.crt"git config --global http.sslVerify false,不推荐生产环境使用)
内容的提问来源于stack exchange,提问作者Maize
相关产品推荐
相关产品推荐

