Git for Windows:无法将主机添加到known_hosts。用户目录错误。

3

Git for Windows 在使用 SSH 认证方面表现良好。但是,SSH 服务器签名已更改。我删除了 ~/.ssh/known_hosts 文件,希望 ssh 会重新创建它。 然而,当我尝试通过 SSH 推送到远程时,出现以下消息:

假设我的 Windows 用户名是“abc”。

$ git push
 Could not create directory '/home/abc/.ssh' (No such file or directory).
 Failed to add the host to the list of known hosts (/home/abc/.ssh/known_hosts).
 git@my_bitbucket.hu: Permission denied (publickey).
 fatal: Could not read from remote repository.

在Windows上,我没有/home/abc目录。$HOME被设置为"/c/Users/abc"。 我该如何解决这个问题?我尝试了On windows, could not create directory '/home/<username>/.ssh'中的几种解决方案,但都没有起作用。

在Windows CMD中,%HOME%和%USERPROFILE%都被设置为"/c/Users/abc"。为什么ssh要在"/home/abc/.ssh"下操作文件呢?


找出你在Windows上使用的ssh程序(不止一个),并了解如何配置它。Git只运行ssh;你可以使用Git的core.sshCommand设置来配置Git选择要运行哪个ssh,以防一个无法工作而另一个可以。 - torek
1个回答

0

尝试从CMD会话(无git bash)中使用以下命令:

  • %HOME%%USERPROFILE%被设置为"C:\Users\abc"

  • %PATH%被设置为:

    set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\
    set "GH=C:\Program Files\Git"
    set "PATH=%GH%\bin;%GH%\cmd;%GH%\usr\bin;%GH%\mingw64\bin;%GH%\mingw64\libexec\git-core;%PATH%"
    
  • 没有设置SSH环境变量(使用set|grep -i ssh检查)

然后再尝试一次,从同一个CMD会话中,不要使用bash。


不幸的是,这并没有帮助。问题仍然存在。它仍然试图访问/home/abc/.ssh。我完全重新安装了git,但也没有帮助。 - GNA
@GNA 当在您的代码库根目录执行git remote -v命令时会返回什么信息? - VonC
它返回位于Bitbucket服务器上的项目地址,类似于:git@my_server.com:1234/my/project。我讨厌这个Windows痛苦...实际上在Linux上从未遇到任何问题...但在Windows上,一切都会在一夜之间崩溃。 - GNA
你在 git config -l --show-origin --show-scope | grep home 中看到了 home 的定义吗? - VonC
很不幸,我现在在工作,这个聊天被屏蔽了。-_- - GNA
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接