我刚刚按照给出的说明,使用图形用户界面安装程序(推荐的方法)在 Windows 7 64 位上安装了全新的 MinGW这里并保留默认选项(即安装在目录:\MinGW)——希望不会遗漏任何步骤或以任何方式搞乱事情。
然而,当运行远程控制命令,我收到以下错误:
C:\Users\我的用户名>ssh用户名@主持人
无法创建目录 '/home/我的用户名/.ssh'。
主持人的真实性主持人(主机 IP)' 无法建立。RSA
密钥指纹是指纹.
您确定要继续连接吗(是/否)? 是
无法将主机添加到已知主机列表 (/home/我的用户名请参阅 ssh/known_hosts 文件。
所以,我基本上每次都必须确认连接。
为什么会发生这种情况?我该如何解决?
答案1
经过反复试验,我找到了解决问题的方法。
自动化解决方案(适用于仓促情况)
- 去(你的 MinGW 安装目录)\msys\1.0.
(在我的例子中,也是默认的,那就是 目录:\MinGW\msys\1.0)。 - 跑步系统管理程序。
这将启动MinGW 壳,这将创建路径
(你的 MinGW 安装目录)\msys\1.0\home\(你的用户名)
自动和远程控制现在就可以正常工作了。
手动解决方案(基本上手动创建所需的路径):
- 去(你的 MinGW 安装目录)\msys\1.0。
- 创建一个家目录。
- 在 - 的里面家目录创建一个与您的用户名同名的目录。
因此,现在的路径
(你的 MinGW 安装目录)\msys\1.0\home\(你的用户名)
可用,并且远程控制应该可以正常工作。
如果一切顺利的话,你应该会得到以下结果:
C:\Users\我的用户名>ssh用户名@主持人
主持人的真实性主机 (主机 IP)' 无法建立。RSA
密钥指纹是指纹。
您确定要继续连接吗(是/否)?是
警告:永久添加'主机,主机 ip'(RSA)添加到已知主机列表。
笔记
由于 MinGW Shell 可以创建所需的路径(无需 Windows UAC 的唠叨),我猜这与权限无关。这可能是 MinGW 安装的遗漏。
答案2
如何在 Windows 中启用 SSH 来更新我的known_hosts
文件,这样我就不会总是收到提示
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts
(/home/myusername/.ssh/known_hosts).
我花了一整天时间尝试解决 Windows 版 git-bash 的问题(我相信它使用了 mingw64,我相信它是 msys 的后代)。我确信这是一个权限错误,但我找不到任何说明如何更改真正由 Windows 控制的文件夹或文件的 Unix 权限(即 chmod xxx ...)的内容。以下方法均无效:
~/.ssh
在我的 Windows 用户主目录中创建文件夹 (cd ~ --> C:\User\username
)/home/username/.ssh
在 git-bash 根目录中创建文件夹(cd / --> C:\Program Files\Git
)- 在两个位置创建
.ssh/known_hosts
文件并将 Windows 权限更改为完全访问
这有效:
更改文件中的行
C:\Program Files\Git\etc\nsswitch.conf
:From: db_home: env windows cygwin desc To: db_home: windows cygwin desc
为什么???我不知道!!
答案3
手动将 rsa 密钥添加到 .ssh/known_hosts 文件
不确定为什么会发生这种情况,我猜是权限问题,如果它根本无法创建文件