3 votes

Erreur de clé SSH, sudo fonctionne correctement

Lorsque j'essaie de me connecter en ssh ( using ssh user@server.com ) sur mon serveur à la maison à partir du réseau local ou de l'extérieur, j'obtiens l'erreur suivante : enter image description here

Mais si j'utilise sudo ssh user@server.com Il fonctionne sans problème : enter image description here

Je suis sûr qu'il faut que je place une sorte de clé dans ce fichier. /Users/mattlove/.ssh/known_hosts mais je ne sais pas exactement comment ni pourquoi.

L'un d'entre vous, passionné d'UNIX, a-t-il une réponse ?

E D I T :

Voici les résultats de la course ls -l ~/.ssh/known_hosts comme demandé par @LoïcWolff

enter image description here

10voto

Gerry Points 14225

La première fois que vous vous connectez à un serveur, vous êtes invité à accepter l'empreinte digitale de l'hôte auquel vous vous connectez. L'empreinte digitale est une combinaison d'une signature numérique, du nom d'hôte et de l'adresse IP du serveur. Lorsque vous acceptez, l'empreinte digitale est enregistrée dans le fichier ~/.ssh/known_hosts comme étant un hôte "de confiance".

Pour une raison quelconque, l'empreinte digitale du serveur a changé depuis la première fois que vous vous êtes connecté à lui. Cela peut être dû au fait qu'il ne s'agit pas du serveur auquel vous vous attendez, par exemple lorsque votre demande est interceptée et redirigée vers un autre serveur. D'où l'avertissement de sécurité. L'explication peut également être moins malveillante, par exemple lorsque le serveur a été remplacé/réinstallé sans restaurer sa signature numérique précédente, ou lorsque l'adresse IP a changé.

Si, malgré l'avertissement de sécurité, vous faites toujours confiance au serveur auquel vous vous connectez, vous devez ouvrir ~/.ssh/known_hosts et recherchez la ligne commençant par l'adresse du serveur auquel vous vous connectez. Supprimez toute la ligne et enregistrez vos modifications, puis reconnectez-vous au serveur. La première fois que vous vous connectez, le serveur devrait vous demander d'accepter l'empreinte digitale mise à jour, après quoi vous ne devriez plus avoir de problèmes pour vous connecter à cet hôte.

La raison pour laquelle il fonctionnerait avec sudo C'est parce que dans ces conditions, vous l'exécutez en tant qu'utilisateur différent (Root), et chaque utilisateur a son propre fichier known_hosts (pour Root, il se trouve à l'adresse /private/var/root/.ssh/known_hosts ). Il se peut que Root n'ait jamais enregistré l'empreinte précédente de cet hôte et qu'il n'ait donc aucun moyen de la comparer à l'empreinte actuelle, ni aucune raison de se méfier du serveur.

5voto

pgb Points 435

Les known_hosts contient les clés des hôtes auxquels vous vous êtes précédemment connecté, et que vous avez vérifié que la signature de la clé est correcte.

Dans votre cas, l'une des deux choses suivantes s'est produite,

  1. La clé du serveur a changé depuis que vous l'avez approuvée pour votre compte, mais pas depuis qu'elle a été approuvée pour le compte du root compte.
  2. Un attaquant intercepte les communications entre vous et le serveur, et vous avez approuvé sa clé pour la root et avoir la bonne clé dans votre compte.

Le cas 1 est le plus probable - les attaques de type "man-in-the-middle" sur SSH, bien que possibles, sont relativement rares. L'avertissement est là pour vous signaler que quelqu'un peut intercepter vos communications, même si les risques sont très faibles.

Pour résoudre ce problème, ouvrez le known_hosts et supprimez l'entrée correspondant à l'hôte en question. Contactez l'administrateur système de l'hôte et demandez-lui l'"empreinte digitale de la clé de l'hôte". Établissez à nouveau la connexion, vérifiez que l'empreinte digitale correspond à celle que vous avez obtenue de l'administrateur système et approuvez la clé.

Si l'empreinte digitale ne correspond pas à celle fournie par l'administrateur système de l'hôte distant, n'approuvez pas la clé !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X