Erreur ssh MinGW MSYS: Impossible de créer le répertoire '/ home / nom d'utilisateur>/.ssh'

2

Je viens d'installer une nouvelle installation de MinGW sur Windows 7 64 bits à l'aide du programme d'installation d'interface utilisateur graphique (approche recommandée) en suivant les instructions données ici et en conservant les options par défaut (installation dans C: \ MinGW ) - sans omettre aucune étape les choses en aucune façon.

Cependant, lors de l'exécution de la commande ssh , j'obtiens le message d'erreur suivant:

C: \ Users \ nomutilisateur> ssh nom d'utilisateur @ hôte
Impossible de créer le répertoire '/ home / nomutilisateur /.ssh'.
L'authenticité de l'hôte ' hôte ( host-ip )' ne peut pas être établie.
L'empreinte digitale de la clé RSA est l' empreinte digitale .
Êtes-vous sûr de vouloir continuer à vous connecter (oui / non)? oui
Échec de l'ajout de l'hôte à la liste des hôtes connus (/ home / myusername /.ssh/known_hosts).

Donc, je dois essentiellement confirmer la connexion à chaque fois.
Pourquoi cela se produit-il et comment puis-je le réparer?

importer cette
la source

Réponses:

2

Après quelques essais et erreurs, j'ai trouvé la ou les solutions au problème.

Solution automatisée (pour les hâtifs)

  1. Accédez à (votre-répertoire d'installation de MinGW) \ msys \ 1.0 .
    (dans mon cas, qui est aussi le défaut, ce serait C: \ MinGW \ msys \ 1.0 ).
  2. Exécutez msys.bat .

Cela va démarrer le shell MinGW , qui créera le chemin
(votre-répertoire-installation-MinGW) \ msys \ 1.0 \ home \ (votre-nom-utilisateur)
automatiquement et ssh devrait maintenant fonctionner correctement.


Solution manuelle (créez essentiellement le chemin requis manuellement):

  1. Accédez à (votre-répertoire d'installation de MinGW) \ msys \ 1.0 .
  2. Créer une maison répertoire.
  3. A l' intérieur du domicile répertoire créer un répertoire avec le même nom que votre nom d' utilisateur.

Donc, maintenant le chemin
(votre-répertoire-installation-MinGW) \ msys \ 1.0 \ home \ (votre-nom-utilisateur)
est disponible et ssh devrait bien fonctionner.


Voici ce que vous devriez obtenir si tout se passait bien:

C: \ Utilisateurs \ myusername> ssh username @ host
L'authenticité de l'hôte ' host (host-ip) ' ne peut pas être établie.
L'empreinte digitale de la clé RSA est l' empreinte digitale .
Êtes-vous sûr de vouloir continuer à vous connecter (oui / non)? yes
Attention: ' host, host-host-ip ' (RSA) a été ajouté en permanence à la liste des hôtes connus.

Remarque
Étant donné que MinGW Shell pourrait créer le chemin nécessaire (sans que Windows UAC ne se moque de rien), je suppose que cela n'a rien à voir avec les persmissions. C'est probablement une omission de l'installation de MinGW.

importer cette
la source
0

Ajoutez manuellement la clé rsa au fichier .ssh / known_hosts

Je ne sais pas pourquoi cela se produit, je suppose qu'il y a un problème de permission s'il ne peut même pas créer le fichier en premier lieu

mwwhale
la source
Merci. Cependant, je ne savais pas vraiment où .ssh était supposé être jusqu'à ce que je trouve ma réponse (ce qui rendait l'ajout de la clé RSA redondant manuellement).
importer ce
0

Pour ceux qui utilisent msys2et ont la même erreur:

Remplacez la ligne du fichier /etc/nsswitch.confpar:

db_home: windows cygwin desc

(De cette réponse)

TT--
la source
0

Comment activer SSH dans Windows pour mettre à jour mon known_hostsfichier afin que je ne sois pas toujours invité

Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts 
(/home/myusername/.ssh/known_hosts).

J'ai passé toute la journée à essayer de comprendre cela pour git-bash pour Windows (qui, je crois, utilise mingw64 et qui, à mon avis, est un descendant de msys). Je suis sûr que c'est une erreur d'autorisation, mais je n'ai rien trouvé qui indique comment changer les autorisations Unix (par exemple, chmod xxx ...) d'un dossier ou d'un fichier réellement contrôlé par Windows. Aucun des éléments suivants n'a fonctionné:

  • Création du ~/.sshdossier dans le répertoire de base de mon utilisateur Windows ( cd ~ --> C:\User\username)
  • Création du /home/username/.sshdossier dans le répertoire racine de git-bash ( cd / --> C:\Program Files\Git)
  • Création du .ssh/known_hostsfichier aux deux emplacements et modification des autorisations Windows en accès complet

Cela a fonctionné:

  • Changer la ligne dans le fichier C:\Program Files\Git\etc\nsswitch.conf:

    From: db_home: env windows cygwin desc
      To: db_home:     windows cygwin desc
    

Pourquoi??? Je n'ai aucune idée!!

Sue Parker
la source
1
Bienvenue sur Super User. C'est une vieille question à réponse personnelle. Vous avez peut-être eu un symptôme similaire, mais rien n'indique que le PO ait inclus l'env. Avez-vous rencontré le symptôme simplement parce que vous avez créé une erreur en l'incluant?
fixer1234