Git配置Plink每主机用户名未生效,求正确方案及问题排查
Git通过Plink连接Amazon CodeCommit时的用户名传递问题
我使用基于TPMVSC的SSH密钥,因此采用Plink连接Amazon CodeCommit服务器。以下是我的Git全局配置文件:
# This is Git's per-user configuration file. [user] name = James Edington email = james.edington@example.com [core] sshCommand = plink -batch [ssh] variant = plink [credential "ssh://git-codecommit.us-east-1.amazonaws.com"] username = ABCDEFGHIJKLMNOPQRST
但Git并未将配置中的用户名传递给Plink。我找到了两个临时解决方法:
- 将用户名嵌入仓库URL:
git clone ssh://ABCDEFGHIJKLMNOPQRST@git-codecommit… - 将用户名嵌入SSH命令:
(export GIT_SSH_COMMAND="plink -batch -l ABCDEFG…"; git clone ssh://git-codecommit.us…/project && cd project && git config --local core.sshCommand "$GIT_SSH_COMMAND")
我想知道正确的解决方案是什么。我尝试过将ssh.variant设置为plink、auto、ssh,均无效;通过GIT_TRACE=1追踪发现,Git并未在命令行向Plink传递用户名参数。我还尝试在%USERPROFILE%\.ssh\config中添加对应主机配置,但Plink似乎并未加载该文件。根据Git文档,我的每主机凭证配置应该是匹配的,但Git似乎未识别该指令。请问当前Git是否真的不支持Plink的每主机用户名配置,还是我操作有误?
环境信息
- Git版本:2.38.1.windows.1
- PuTTY-CAC Plink版本:0.77
- 操作系统:Windows 10.0.19044
- 远程服务器:Amazon CodeCommit
内容的提问来源于stack exchange,提问作者JamesTheAwesomeDude
相关产品推荐
相关产品推荐

