如何让 git 通过 SSH 使用正确的用户名进行身份验证?

问题描述 投票:0回答:1

我在 Windows 上使用

git
,但无法使用正确的用户名进行身份验证,这与我登录到本地操作系统的用户名不同。

这是详细信息。

上游存储库位于我想通过 SSH 连接的远程计算机上:

$ git remote -v
origin    ssh://someuser@host/path (fetch)
origin    ssh://someuser@host/path (push)

我使用 SSH 密钥进行身份验证。

仅运行

ssh
命令即可正常工作:

$ ssh someuser@host "whoami"
someuser

但是,当尝试将更改推送到存储库时,系统会提示我在 本地操作系统用户的用户名下输入密码,而不是远程路径中指定的用户

$ git push
(OSuser@host) Password for OSuser@host:

我已配置

user.name
:

$ git config user.name
someuser

但是没有效果。

我尝试从

git pull
shell 和 Windows 的
git-bash
运行
cmd
。结果是一样的。

我应该怎么做才能让它发挥作用?

git ssh
1个回答
0
投票

事实证明,我更改了默认的 SSH 命令,明确指定了用户名,然后就忘记了:

$ git config core.sshCommand
ssh -l OSuser

这就是为什么远程路径中的用户名被命令中的用户名覆盖的原因。

感谢Jim Redmond,他暗示了上面的想法。

© www.soinside.com 2019 - 2024. All rights reserved.