103 votes

Échec d'ajout de l'hôte à la liste des hôtes connus

Mac OSX Lion 10.7.

Dans le but de contourner des problèmes bizarres d'environnement (homebrew n'installait pas wget, et j'avais toutes sortes de blocages et d'erreurs étranges), j'ai désinstallé zschrc, homebrew et plein d'autres choses, puis installé le shell fish.

Maintenant, à chaque fois que j'essaie de pusher/puller depuis/depuis github, j'ai cette erreur :

L'authenticité de l'hôte 'github.com (204.232.175.90)' ne peut pas être établie.
Empreinte digitale de la clé RSA est .
Êtes-vous sûr de vouloir continuer la connexion (yes/no) ? yes
Échec de l'ajout de l'hôte à la liste des hôtes connus (/Users/sasha/.ssh/known_hosts).

Alors j'ai essayé de vérifier les permissions de mon dossier ~./ssh, et j'ai eu ceci, qui me semble correct :

-rw-r--r--  1 sasha  staff    97B Jul  9 22:56 config
-rw-------  1 sasha  staff   1.7K May 16  2012 id_rsa
-rw-r--r--  1 sasha  staff   403B May 16  2012 id_rsa.pub
drwx------  5 sasha  staff   170B Jul 15 09:56 known_hosts

Tout ce qu'il y a dans known_hosts est un fichier pem que j'ai utilisé pour me connecter en ssh (également avec le prompt "authenticité...") à une instance Amazon ec2, bien que j'aie essayé de copier id_rsa et id_rsa.pub là-bas quand les choses se sont compliquées.

Une idée de ce qui se passe ? J'aimerais bien résoudre ça pour ne pas avoir à répondre de nombreuses fois à ces prompts de push/pull.

MODIFICATION J'ai suivi ces instructions avec succès il y a un certain temps, donc j'ai bien mes clés ssh sur Github, et elles sont reconnues, donc lorsque je lance ssh -T git@github.com, j'obtiens

Salut sashafklein ! Vous êtes authentifié avec succès, mais GitHub ne fournit pas d'accès shell.

Il semble que ce soit exclusivement mon ordinateur local qui n'est pas satisfait de ma situation ssh.

185voto

kenorb Points 2464

Dans votre cas spécifique, votre known_hosts est un dossier, vous devez donc le supprimer en premier lieu.

Pour d'autres personnes rencontrant un problème similaire, veuillez vérifier les bonnes autorisations de votre ~/ssh/known_hosts car il peut être détenu par un utilisateur différent (par exemple, root). Vous pouvez essayer d'exécuter :

sudo chown -v $USER ~/.ssh/known_hosts

pour le corriger.

89voto

Stoney Eagle Points 96

C'est la solution dont j'avais besoin.

sudo chmod 700 ~/.ssh/
sudo chmod 600 ~/.ssh/*
sudo chown -R ${USER} ~/.ssh/
sudo chgrp -R ${USER} ~/.ssh/

35voto

Kingz Points 351

Pour les gars sous Ubuntu, si vous obtenez cette erreur :

Échec d'ajout de l'hôte à la liste des hôtes connus

Alors il suffit de supprimer le fichier known_hosts, et de relancer votre ssh. Cela va régénérer le fichier known_hosts avec les autorisations appropriées, et ajouter l'hôte distant auquel vous essayez de vous connecter en ssh à ce fichier.

27voto

Peter Dietz Points 156

Je pense que la question de l'OP est résolue en supprimant le ~/.ssh/known_hosts (qui était un dossier, pas un fichier). Mais pour ceux qui pourraient rencontrer ce problème, j'ai remarqué que l'un de mes serveurs avait des autorisations étranges (400) :

-r--------. 1 utilisateur utilisateur 396 Jan 7 11:12 /home/utilisateur/.ssh/known_hosts

J'ai donc résolu cela en ajoutant le propriétaire/utilisateur ET écriture.

chmod u+w ~/.ssh/known_hosts

Ainsi. ~/.ssh/known_hosts doit être un fichier plat, et doit vous appartenir, et vous devez être en mesure de le lire et de l'écrire.

Vous pouvez toujours déclarer la faillite de known_hosts, le supprimer, et continuer à faire des choses normalement, et se connecter à des choses (git / ssh) régénérera un nouveau known_hosts qui devrait fonctionner parfaitement.

24voto

CXJ Points 539

Ne known_hosts devrait-il pas être un fichier plat, pas un répertoire?

Si ce n'est pas le problème, alors cette page sur Github pourrait être utile. Essayez d'utiliser SSH avec le drapeau -v ou -vv pour voir des messages d'erreur détaillés. Cela pourrait vous donner une meilleure idée de ce qui échoue.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X