Windows下Git通过SSH认证时如何指定正确用户名?
解决Windows下Git SSH认证用户名不符问题
首先明确:git config user.name是设置提交代码时的作者名,和SSH连接远程服务器的认证用户名完全没关系,改这个没用很正常。
下面是具体解决步骤:
确认远程仓库地址配置正确
先执行git remote -v查看当前远程仓库的地址,确认输出里确实是ssh://someuser@host/path。如果不是,用命令修改:git remote set-url origin ssh://someuser@host/path配置SSH强制指定主机对应的用户名
在Windows用户目录(比如C:\Users\OSuser\.ssh)下创建或编辑config文件(无后缀),添加以下内容:Host host User someuser IdentityFile C:\Users\OSuser\.ssh\你的私钥文件名(比如id_rsa)这样Git连接
host时会自动使用someuser和指定的私钥,不会默认用本地OS用户。验证SSH配置是否生效
执行ssh host,如果能直接登录并返回someuser,说明配置没问题,再尝试git push/pull。检查Git使用的SSH客户端
Windows下Git可能混用系统自带的SSH或自身集成的SSH,导致配置不生效。可以先开启SSH调试日志排查:git config --global core.sshCommand "ssh -v"执行
git pull后看输出,找到SSH连接部分,确认使用的用户名是someuser。如果发现用的是系统SSH,可强制指定Git自带的SSH路径:git config --global core.sshCommand "C:/Program Files/Git/usr/bin/ssh.exe"清除旧SSH密钥缓存
执行以下命令清除已加载的密钥,再重新添加你的私钥:ssh-add -D ssh-add C:\Users\OSuser\.ssh\你的私钥文件名
内容的提问来源于stack exchange,提问作者1234ru
相关产品推荐
相关产品推荐

