MinGW MSYS ssh 错误:无法创建目录'/home//.ssh'

MinGW MSYS ssh 错误:无法创建目录'/home//.ssh'

我刚刚按照给出的说明,使用图形用户界面安装程序(推荐的方法)在 Windows 7 64 位上安装了全新的 MinGW这里并保留默认选项(即安装在目录:\MinGW)——希望不会遗漏任何步骤或以任何方式搞乱事情。

然而,当运行远程控制命令,我收到以下错误:

C:\Users\我的用户名>ssh用户名@主持人
无法创建目录 '/home/我的用户名/.ssh'。
主持人的真实性主持人主机 IP)' 无法建立。RSA
密钥指纹是指纹.
您确定要继续连接吗(是/否)? 是
无法将主机添加到已知主机列表 (/home/我的用户名请参阅 ssh/known_hosts 文件。

所以,我基本上每次都必须确认连接。
为什么会发生这种情况?我该如何解决?

答案1

经过反复试验,我找到了解决问题的方法。

自动化解决方案(适用于仓促情况)

  1. (你的 MinGW 安装目录)\msys\1.0.
    (在我的例子中,也是默认的,那就是 目录:\MinGW\msys\1.0)。
  2. 跑步系统管理程序

这将启动MinGW 壳,这将创建路径
(你的 MinGW 安装目录)\msys\1.0\home\(你的用户名)
自动和远程控制现在就可以正常工作了。


手动解决方案(基本上手动创建所需的路径):

  1. (你的 MinGW 安装目录)\msys\1.0
  2. 创建一个目录。
  3. 在 - 的里面目录创建一个与您的用户名同名的目录。

因此,现在的路径
(你的 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 文件

不确定为什么会发生这种情况,我猜是权限问题,如果它根本无法创建文件

答案4

对于任何使用msys2并有同样的错误:

将文件中的行更改 /etc/nsswitch.conf为:

db_home: windows cygwin desc

(来自这个答案)

相关内容