cygwin下的ssh配置

Hub*_*ubi 19 ssh windows-7 cygwin bash openssh

我在 Windows 7 上安装了 Cygwin。我进行了默认安装。我想使用 ssh 配置文件 (~/.ssh/config) 来设置主机和连接选项。

当我尝试连接时,普通的 ssh 命令无法找到配置:ssh host 如果我明确指定配置文件,一切正常:ssh -F ~/.ssh/config

我找不到任何设置 ssh 客户端的选项,例如 /etc/ssh

也许 ssh 不知道我的主文件夹在哪里?(我已将 HOME 环境变量设置为我的主文件夹)

小智 19

安装openssh包,然后运行ssh-host-config。它将在/etc/ 中生成一个“ssh_config”文件。


kyl*_*eus 6

我遇到过同样的问题。我想使用~/.ssh/config因为我已经将该目录用于其他应用程序并且不想保留 2 个副本。因此,创建/etc/ssh_config目录并不是理想的解决方案。

正如 Fujimoto Youichi 提到的,ssh 会查看/etc/passwd中的主目录,而不是$HOME环境变量。

当前的 cygwin 版本(我使用的是 2.6)不再在安装过程中创建/etc/passwd 。然而,创建一个新的很容易:

    mkpasswd -c -p "$(cygpath -H)" > /etc/passwd
Run Code Online (Sandbox Code Playgroud)
  • -c将当前用户添加到 passwd 文件中
  • -p "$(cygpath -H)"添加您当前的主目录

https://cygwin.com/cygwin-ug-net/mkpasswd.html有关可用标志的更多详细信息。

我没有看过代码,但 ssh 的偏好似乎是:

  1. /etc/ssh_config
  2. 〜/ .ssh /配置

因此,如果您只想使用~/.ssh/config中的 ssh 配置信息,请务必删除/etc/ssh_config

另外,请务必在进行更改后打开一个新的 cygwin 终端窗口,以便它们可用。