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

Git克隆仓库失败:用户名大小写引发权限拒绝问题

Git/Gerrit 用户名大小写导致权限拒绝问题解决

问题描述

新电脑安装Git和Gerrit后,克隆仓库时返回Permission denied (publickey).,排查发现命令中的用户名被自动转为大写:

git clone ssh://MYUSERNAME@ast-gerrit-ssh.xxxxxx.net:29256/xxx/repo

改用小写用户名则可正常执行:

git clone ssh://myusername@ast-gerrit-ssh.xxxxxx.net:29256/xxx/repo

推送代码时也存在同样问题,命令中的用户名自动变为大写。修改Git配置的user.name为大写后,git config --list | grep user.name显示生效,但Gerrit账户用户名始终为小写。

解决办法

1. 配置SSH强制指定小写用户名

编辑SSH配置文件:

  • Windows:C:\Users\<你的用户名>\.ssh\config
  • Linux/macOS:~/.ssh/config

添加针对Gerrit服务器的配置,强制使用小写用户名:

Host ast-gerrit-ssh.xxxxxx.net
    User myusername
    Port 29256
    IdentityFile ~/.ssh/你的私钥文件名

后续克隆时可简化命令为git clone ssh://ast-gerrit-ssh.xxxxxx.net:29256/xxx/repo,SSH会自动应用配置的小写用户名。

2. 修正现有仓库的远程地址

如果已克隆仓库,执行以下命令替换远程地址中的大写用户名为小写:

git remote set-url origin ssh://myusername@ast-gerrit-ssh.xxxxxx.net:29256/xxx/repo

修改后推送代码将使用正确的小写用户名。

3. 区分Git提交用户名与SSH连接用户名

Git的user.name是代码提交时的作者标识,和SSH连接Gerrit的用户名是独立配置,无需将user.name改为大写,保持与Gerrit账户一致的小写即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 15:12:02