我在 Windows 7 上安装了 Cygwin。我进行了默认安装。我想使用 ssh 配置文件 (~/.ssh/config) 来设置主机和连接选项。
当我尝试连接时,普通 ssh 命令无法找到配置:ssh host 如果我明确指定配置文件,则一切正常:ssh -F ~/.ssh/config
我找不到任何设置 ssh 客户端的选项,例如 /etc/ssh
也许 ssh 不知道我的主文件夹在哪里?(我已将 HOME 环境变量设置为我的主文件夹)
答案1
安装openssh
包然后运行ssh-host-config
。它将在中生成一个“ssh_config”文件/ETC/。
答案2
我也遇到了同样的问题。我想使用〜/.ssh /配置因为我已经将该目录用于其他应用程序,并且不想保留 2 个副本。因此创建一个/etc/ssh_config目录不是理想的解决方案。
正如 Fujimoto Youichi 提到的,ssh 会查看密码文件 /etc/passwd为您的主目录,而不是$HOME环境变量。
当前的 cygwin 版本(我使用的是 2.6)不再创建密码文件 /etc/passwd作为安装的一部分。但是,创建一个新的也很容易:
mkpasswd -c -p "$(cygpath -H)" > /etc/passwd
- -C将当前用户添加到 passwd 文件中
- -p“$(cygpath-H)”添加你当前的主目录
https://cygwin.com/cygwin-ug-net/mkpasswd.html有关于可用标志的更多详细信息。
我没有看过代码,但 ssh 的偏好似乎是:
- /etc/ssh_config
- 〜/.ssh /配置
因此,如果您只想使用来自〜/.ssh /配置,然后一定要删除/etc/ssh_config。
此外,请确保在进行更改后打开一个新的 cygwin 终端窗口,以使它们可用。
答案3
ssh 命令从 /etc/passwd 的主目录下查找其配置文件。因此设置 HOME 变量不起作用。
方法有很多,但我们可以通过简单地创建符号链接来解决这个问题,如下所示。
ln -s ~ /home
答案4
其他答案对我不起作用。我刚刚创建了 c:\cygwin64\etc\ssh_config 并粘贴了以下默认/示例文件:
# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.
# Configuration data is parsed as follows:
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.
# Site-wide defaults for some commonly used options. For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.
# Host *
# ForwardAgent no
# ForwardX11 no
# RhostsRSAAuthentication no
# RSAAuthentication yes
# PasswordAuthentication yes
# HostbasedAuthentication no
# GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# BatchMode no
# CheckHostIP yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# Port 22
# Protocol 2,1
# Cipher 3des
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
# MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160
# EscapeChar ~
# Tunnel no
# TunnelDevice any:any
# PermitLocalCommand no
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
#
#
Host *
Port 22
希望这对下一个人有帮助。