84 votes

L'authenticité de l'hôte 'github.com (192.30.252.128)' ne peut être établie.

J'essaie d'utiliser

sudo npm install

pour installer toutes mes dépendances pour une application écrite en nodejs. Mon système d'exploitation est Ubuntu 13.04

Cependant, je reçois toujours cet avertissement :

The authenticity of host 'github.com (192.30.252.131)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:1d:52:13:1a:21:2d:bz:1d:66:a8.
Are you sure you want to continue connecting (yes/no)?

Quelqu'un a-t-il déjà rencontré cet avertissement ? Est-il possible de s'authentifier et de stocker l'empreinte digitale localement ? Ainsi, je n'aurai pas besoin de m'authentifier à nouveau lorsque j'entrerai dans sudo npm install une autre fois.

Pour l'instant, je ne peux rien saisir, pas même un "oui". Mon terminal reste bloqué, je dois appuyer sur Ctrl + C pour y mettre fin.

110voto

Stéphane Gourichon Points 459

Danger à venir, à moins que vous ne vous souciiez pas de la communication sécurisée avec github sur votre compte local.

Ssh se plaint à juste titre de ne pas pouvoir s'assurer que vous vous connectez bien au serveur de github via un canal sécurisé. C'est peut-être la raison pour laquelle github recommande l'accès https, qui fonctionne dès le départ grâce à son infrastructure de clés publiques.

Il est possible de faire fonctionner ce système, mais il faut savoir qu'il implique la mise en cache d'une empreinte de clé publique qui, si elle n'est pas effectuée correctement, permet à un pirate d'effectuer une attaque permanente de type "man-in-the-middle" (de l'autre côté de la frontière).

Comment procéder en toute sécurité ?

L'option 1 consiste à utiliser l'url https au lieu de ssh.

L'option 2 consiste à faire fonctionner l'accès ssh.

D'accord, montrez-moi l'option 2

  1. Faire ssh -T git@github.com mais ne vous contentez pas de taper "oui".
  2. Vérifier si le hachage affiché correspond à l'un des hachages indiqués dans la rubrique https://help.github.com/articles/what-are-github-s-ssh-key-fingerprints/ (dans votre question, c'est le cas, et voyez, la page est récupérée via https pour les mêmes raisons d'infrastructure de clé publique).

Si le hachage correspond, la connexion est effectivement sûre et vous pouvez répondre "oui" à la question de ssh.

D'accord, j'ai vérifié et j'ai tapé oui, mais comment puis-je savoir que cela fonctionne ?

Ssh affichera quelque chose comme :

Avertissement : Ajout permanent de la clé hôte RSA pour l'adresse IP '192.30.252.128' à la liste des hôtes connus.

Ensuite, vous verrez apparaître un message du type

Permission refusée (publickey).

ce qui est bien mais montre que vous avez besoin d'une configuration plus poussée, ou simplement

Bonjour votre identifiant ! Vous vous êtes authentifié avec succès, mais GitHub ne fournit pas d'accès shell. fournit pas d'accès au shell.

ce qui signifie que tout fonctionne bien et que vous pouvez réessayer votre première opération.

Notez que si vous réessayez la même commande ssh, la question ne devrait plus être posée.

27voto

Kent Mewhort Points 151

Exécuter ssh -o StrictHostKeyChecking=no git@github.com dans l'invite de commande pour ajouter l'authenticité à vos hôtes connus. Ainsi, vous n'obtiendrez pas l'invite la prochaine fois.

8voto

Hadi Masoumi Points 484

J'ai résolu mon problème en lançant

ssh-keyscan github.com >> ~/.ssh/known_hosts

dans l'invite de commande. Cette commande ajoutera l'authenticité à vos hôtes connus.

6voto

Matt Pavelle Points 789

Assurez-vous que vous n'êtes pas accidentellement connecté en tant qu'utilisateur différent (cela m'arrive lorsque je sudo -s / me connecte en tant que Root et que j'oublie que mon compte GitHub n'est pas lié à cet utilisateur).

4voto

MDeSchaepmeester Points 3404

J'ai atterri ici parce que je recevais cette erreur et que je ne comprenais pas pourquoi. Il s'avère que j'ai fait une faute de frappe dans ma commande npm :

npm install -P -E @angular/common @angular/compiler @angular/core @angular/forms 
@angular/platform-browser @angular/router @angular/animations@ angular/platform-browser-dynamic

Remarquez que la fin de la ligne se lit comme suit @angular/animations@ angular/platform-browser-dynamic .

NPM interprète le dernier "package" comme étant un repo github et c'est de là que vient l'erreur.

Je sais que ce n'est pas le cas en fait Je n'ai pas répondu à la question, mais je l'ai mise en ligne au cas où quelqu'un d'autre rencontrerait ce problème en commettant une erreur similaire.

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