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

Git拉取时持续使用错误用户名问题求助(WSL环境)

解决Git拉取时使用错误SSH账号的问题

问题根源

git config --global user.name 控制的是代码提交时署名的用户名,和SSH连接服务器时的认证账号完全是两回事。而你之前生成SSH密钥时用-C只是添加注释,没指定独立文件名,导致Git依然默认使用当前系统用户的密钥,从而用错服务器账号。

分步解决方案

1. 生成独立命名的SSH密钥

为目标账号生成专属密钥,避免和默认密钥冲突:

ssh-keygen -t ed25519 -C "firstname.lastname@your-domain.com" -f ~/.ssh/id_rsa_firstname.lastname
  • -t ed25519:采用更安全的ed25519算法(也可使用rsa,推荐前者)
  • -C:添加密钥注释(可选,用于区分不同密钥)
  • -f:指定密钥文件名,这是核心,确保和默认密钥区分开

2. 将新密钥上传到Git服务器

用指定密钥文件执行ssh-copy-id:

ssh-copy-id -i ~/.ssh/id_rsa_firstname.lastname firstname.lastname@your-git-server.com

替换your-git-server.com为实际的Git服务器地址。

3. 配置SSH规则指定密钥与账号

编辑~/.ssh/config文件(不存在则新建),添加以下配置:

Host git-server-alias
    HostName your-git-server.com
    User firstname.lastname
    IdentityFile ~/.ssh/id_rsa_firstname.lastname
  • Host:自定义别名(可填Git服务器域名或简写)
  • HostName:Git服务器的实际域名/IP
  • User:明确指定服务器上的正确账号firstname.lastname
  • IdentityFile:指向刚才生成的专属密钥文件

4. 修改Git仓库的远程地址

把仓库的远程URL改成用SSH配置的别名,比如原地址是git@your-git-server.com:username/repo.git,执行:

git remote set-url origin git-server-alias:username/repo.git

这里的git-server-alias要和SSH config里的Host值一致。

5. 验证配置

执行以下命令测试SSH连接:

ssh -T git-server-alias

如果输出包含Welcome firstname.lastname之类的提示,说明认证成功,此时再执行git pull就会使用正确的账号了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 20:03:14