Cygwin SSH 不读取配置文件

Vin*_*nce 5 windows ssh cygwin

Cygwin 的 ssh 没有在%HOME%/.ssh/config.

我安装了 Cygwin,但我更喜欢在 Windows 上使用类似 DOS 的环境。我有 Cygwin bin 目录,我PATH经常在 Cygwin 之外使用类 Unix 的命令。

由于我没有登录Cygwin(或执行 .bashrc),我希望命令使用 Windows 设置的环境变量。HOME设置为C:\Users\Vince并且我希望 ssh 在 中找到配置文件C:\Users\Vince\.ssh\config,但除非我使用-F选项告诉它在那里查找,否则不会发生这种情况。

我如何知道 Cygwin 的 ssh 在哪里寻找配置文件?那可以改变吗?

谢谢你。

Mat*_*ark 9

这是我根据评论中的问答做出的回答。

默认情况下,Cygwin 将在/home/User.

要解决此问题,请/etc/nsswitch.conf在此行中打开并编辑

db_home: windows
Run Code Online (Sandbox Code Playgroud)

关闭所有 Cygwin 终端会话并重新启动。再一次echo $HOME,您应该看到它现在应该设置为 windows %HOME%,并且不再使用位于/home

编辑

您可能还需要删除

/etc/passwd
/etc/group

因为这现在应该推迟到windows。

  • 将条目添加到 `nsswitch.conf` 工作,但只有在删除(实际上是重命名)`/etc/passwd` 和 `/etc/group` 之后。显然,它首先读取那些,然后使用 `nsswitch.conf` 作为后备。一些 [文档](https://cygwin.com/cygwin-ug-net/ntsec.html) 似乎表明它可以使用 `nsswitch.conf` 进行配置,但是如果不删除 `passwd` 和`组`。总结一下我测试的内容:1)修改`nsswitch.conf`;不起作用。2) 删除`passwd`、`group`;不起作用。3) 删除`passwd`、`group`,修改`nsswitch.conf`;作品。 (2认同)