一件简短而可能很愚蠢的事情让我很烦恼......
我在 Windows Server 2008 上找不到我的“known_hosts”文件,但它一定存在。
在服务器上,我有一个 git 存储库,其他人可以访问,这很完美。但是我自己的编码工作也经常在服务器上完成,我只想将我的内容“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 文件从哪里读取?这对我来说似乎很奇怪,是的:显示隐藏和/或系统文件已启用,我根本无法在整个服务器上的任何地方找到它。
有人已经遇到了这个问题并且也许可以帮助我吗?
提前致谢。
答案1
OP 通过发现他使用了嵌入了 ssh 客户端的 Msysgit 并能够找到 known_hosts 条目文件的路径来解决了这个问题。