Você precisa executar o ssh-host-config primeiro. Ele irá gerar um arquivo "ssh_config" em / etc / .
Eu tenho o Cygwin instalado no Windows 7. Fiz a instalação padrão. Eu gostaria de usar o arquivo de configuração ssh (~ / .ssh / config) para definir o host e as opções de conexão.
O comando normal ssh não consegue encontrar a configuração enquanto tento conectar: host ssh Se eu especificar explicitamente o arquivo de configuração, tudo está OK: ssh -F ~ / .ssh / config
Não consigo encontrar nenhuma opção para definir o cliente ssh, algo como / etc / ssh
Talvez o ssh não saiba onde fica minha pasta pessoal? (Eu defini a variável de ambiente HOME para minha pasta pessoal)
Eu tive o mesmo problema. Eu queria usar ~ / .ssh / config porque eu já estava usando esse diretório para outros aplicativos e não queria manter 2 cópias. Então criar um diretório / etc / ssh_config não era a solução ideal.
Como menciona Fujimoto Youichi, o ssh examina / etc / passwd para o seu diretório pessoal e não a variável de ambiente $ HOME .
As versões atuais do cygwin (estou usando o 2.6) não criam mais / etc / passwd como parte da instalação. No entanto, é fácil criar um novo:
mkpasswd -c -p "$(cygpath -H)" > /etc/passwd
link tem mais detalhes sobre as bandeiras disponíveis.
Eu não olhei para o código, mas a preferência do ssh parece ser:
Portanto, se você quiser usar somente as informações de configuração do ssh de ~ / .ssh / config , exclua / etc / ssh_config .
Além disso, certifique-se de abrir uma nova janela do terminal cygwin depois de fazer alterações, para que elas fiquem disponíveis.
O comando ssh procura por seu arquivo de configuração no diretório home do / etc / passwd. Então, configurar a variável HOME não funcionará.
Existem muitas maneiras, mas podemos corrigi-lo simplesmente fazendo um link simbólico da seguinte forma.
ln -s ~ / home
As outras respostas não funcionaram para mim. Acabei de criar c: \ cygwin64 \ etc \ ssh_config e colado no seguinte arquivo padrão / exemplo:
# 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
Espero que ajude a próxima pessoa.
De acordo com a resposta aceita, use o comando para inicializar:
ssh-host-config
Você também pode criar /etc/ssh_config
vazio no Cygwin, o que funcionará da mesma forma.
O /etc/ssh_config
criando por ssh-host-config
também está vazio com todas as linhas de comentário.
Para efetuar a configuração, você pode terminar de editar /etc/ssh_config
sem reiniciar o serviço.