一件简短的,可能是愚蠢的事情让我很恼火......
我在 Windows Server 2008 上找不到我的“known_hosts”文件,但它必须存在。
在服务器上,我有一个其他人可以访问的 git-repository,而且效果很好。然而,我自己的编码工作也经常在服务器上完成,我只想将我的内容“git push”到目标存储库。
问题:我的服务器 SSH 指纹已更改,我无法访问存储库,因为它在“已知主机”文件中不同,并且 git 拒绝我的推送,并发出众所周知的警告:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
66:d8:(and so on...)
Please contact your system administrator.
Add correct host key in /.ssh/known_hosts to get rid of this message.
Offending key in /.ssh/known_hosts:1
RSA host key for (mydomain.eu) has changed and you have requested strict checking.
我知道我只需要删除我的主机文件中的条目来刷新它,但这里出现了主题中所述的问题:
此文件不存在于所有用户帐户中(C:/Users/@USERNAME@/.ssh/known_hosts)而且不仅该文件不存在,没有用户文件夹包含“.ssh”文件夹,它也无济于事在我当前的用户中创建它。
但如果它不存在,我的 Git 无法知道密钥已更改,应该要求将其添加到 known_host 文件中,因此它必须存在。
是否有可能移动此文件的位置或使用读取文件的命令询问 git?这对我来说似乎很奇怪,是的:启用显示隐藏和/或系统文件我根本无法在整个服务器上的任何地方找到它。
有人已经遇到了这个问题,也许可以帮助我?
提前非常感谢。
OP 通过发现他使用具有嵌入式 ssh 客户端并能够找到 known_hosts 条目文件的路径的 Msysgit 解决了该问题。