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.

10voto

Ganesh prasad Points 156

Cette commande a fonctionné pour moi,

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

comme mentionné par @kenorb.

L'erreur survenait en raison de permissions cassées, pour l'utilisateur actuel.

7voto

Saras Arya Points 6

D'accord, les autorisations idéales ressemblent à ceci
Pour le répertoire ssh (vous pouvez obtenir cela en tapant ls -ld ~/.ssh/)
drwx------ 2 oroborus oroborus 4096 Nov 28 12:05 /home/oroborus/.ssh/

d signifie répertoire, rwx signifie que l'utilisateur oroborus a la permission de lire, écrire et exécuter. Ici oroborus est le nom de mon ordinateur, vous pouvez trouver le vôtre en tapant echo $USER. Le deuxième oroborus est en fait le groupe. Vous pouvez en apprendre davantage sur la signification de chaque champ ici. Il est très important d'apprendre cela car si vous travaillez sur ubuntu/osx ou toute distribution Linux, il y a de fortes chances que vous le rencontriez à nouveau.

Maintenant, pour que vos autorisations ressemblent à cela, vous devez taper
sudo chmod 700 ~/.ssh

7 en binaire est 111 ce qui signifie lire 1 écrire 1 et exécuter 1, vous pouvez décoder 6 par une logique similaire signifie seulement les permissions de lecture-écriture

Vous avez donné à votre utilisateur les permissions de lire, écrire et exécuter. Assurez-vous que vos permissions de fichiers ressemblent à ceci.

total 20
-rw------- 1 oroborus oroborus  418 Nov  8  2014 authorized_keys
-rw------- 1 oroborus oroborus   34 Oct 19 14:25 config
-rw------- 1 oroborus oroborus 1679 Nov 15  2015 id_rsa
-rw------- 1 oroborus oroborus  418 Nov 15  2015 id_rsa.pub
-rw-r--r-- 1 oroborus root      222 Nov 28 12:12 known_hosts

Vous avez ici donné la permission de lecture-écriture à votre utilisateur pour tous les fichiers. Vous pouvez voir cela en tapant ls -l ~/.ssh/

Ce problème se produit car ssh est un programme qui essaie d'écrire dans un fichier appelé known_hosts dans son dossier. Pendant l'écriture, s'il sait qu'il n'a pas les autorisations suffisantes, il n'écrira pas dans ce fichier et échouera donc. C'est ma compréhension du problème, des personnes plus compétentes peuvent apporter des éclaircissements supplémentaires. J'espère que cela vous aidera

5voto

Russell Points 318

Au cas où quelqu'un d'autre rencontre ce message d'erreur et que les autorisations sur .ssh et .ssh/known_hosts semblent bonnes.

Mon problème était que j'avais installé gh depuis snap et que les applications snap ont un accès limité au système de fichiers et ne pouvaient apparemment pas accéder à .ssh. La solution est de supprimer l'installation snap et d'installer à partir de apt.

4voto

Raigor Points 21

À mon avis, je fais juste ceci :

rm -rf ~/.ssh/known_hosts

ensuite :

je me connecte simplement en ssh sur l'hôte cible et tout sera ok. Ceci uniquement si vous ne savez pas quels sont les permissions et le propriétaire par défaut du fichier "known_hosts".

3voto

aspiringGuru Points 366

Vérifiez les autorisations du répertoire et des fichiers.

ls -la ~/.ssh/

Dans mon cas, ~/.ssh/known_hosts était détenu par root.

sudo chown xxx:xxx ~/.ssh/known_hosts

où xxx = mon nom d'utilisateur

ensuite, ssh vers un serveur, le message d'avertissement apparaîtra toujours jusqu'à ce que vous vous soyez connecté en ssh avec succès une fois, pour vérifier, sortez et connectez-vous de nouveau en ssh.

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