Cygwin est installé sur Windows 7. J'ai installé par défaut. Je voudrais utiliser le fichier de configuration ssh (~/.ssh/config) pour définir l’hôte et les options de connexion.
La commande ssh normale ne parvient pas à trouver la configuration lorsque j'essaie de me connecter: ssh Host Si je spécifie explicitement le fichier de configuration, tout est OK: ssh -F ~/.ssh/config
Je ne trouve aucune option pour définir le client ssh, quelque chose comme/etc/ssh
Peut-être que ssh ne sait pas où se trouve mon dossier personnel? (J'ai défini la variable d'environnement HOME dans mon dossier personnel)
Vous devez d'abord lancer ssh-Host-config. Il générera un fichier "ssh_config" dans /etc/.
J'ai eu le même problème. Je voulais utiliser ~/.ssh/config car j'utilisais déjà ce répertoire pour d'autres applications et je ne voulais pas conserver 2 copies. Donc, créer un répertoire /etc/ssh_config n'était pas la solution idéale.
Comme Fujimoto Youichi le mentionne, ssh regarde /etc/passwd pour votre répertoire personnel et non le $ HOME variable d'environnement.
Les versions actuelles de cygwin (j'utilise la version 2.6) ne crée plus /etc/passwd dans le cadre de l'installation. Cependant, il est facile d'en créer un nouveau:
mkpasswd -c -p "$(cygpath -H)" > /etc/passwd
https://cygwin.com/cygwin-ug-net/mkpasswd.html contient plus de détails sur les drapeaux disponibles.
Je n'ai pas regardé le code, mais la préférence de ssh semble être:
Donc, si vous voulez seulement utiliser les informations de configuration de ssh depuis ~/.ssh/config , assurez-vous de les supprimer /etc/ssh_config .
Veillez également à ouvrir une nouvelle fenêtre de terminal cygwin après avoir apporté les modifications nécessaires à leur disponibilité.
la commande ssh cherche son fichier de configuration dans le répertoire de base de/etc/passwd. Donc, paramétrer la variable HOME ne fonctionnera pas.
Il existe de nombreuses façons, mais nous pouvons le résoudre en créant simplement un lien symbolique comme suit.
l -s ~/home
Selon la réponse acceptée, en utilisant la commande d'initialisation:
ssh-Host-config
Vous pouvez également créer un /etc/ssh_config
vide dans Cygwin, qui fonctionnera de la même manière.
Le /etc/ssh_config
créé par ssh-Host-config
est également vide avec toutes les lignes de commentaires.
Pour effectuer la configuration, vous pouvez simplement finir de modifier /etc/ssh_config
sans redémarrer le service.
Cygwin ssh s'attend à ce que la configuration soit en /home/$USER
. Mais le répertoire personnel "~" de cygwin est C:/Users/$USER
, en effet /home
est vide. Vous pouvez avoir à la fois C:/Users/$USER/.ssh
et /home/$USER/.ssh
des chemins valides, en créant un lien symbolique:
ln -s ~ /home/$USER
Les autres réponses n'ont pas fonctionné pour moi. Je viens de créer c:\cygwin64\etc\ssh_config et de le coller dans le fichier par défaut/exemple suivant:
# 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
J'espère que cela aidera la prochaine personne.
La réponse actuellement acceptée ne résout pas le problème pour moi. À la place, j'ai lié de manière symétrique le répertoire .ssh
à partir du répertoire de base de mon compte d'utilisateur Windows dans le répertoire de base de mon utilisateur Cygwin:
ln -s /cygdrive/c/Users/<MY-USER>/.ssh /home/<MY-USER>/.ssh