J'ai un serveur Linux qui chaque fois que je me connecte me montre le message qui a changé la clé d'hôte SSH:
$ ssh root @ host1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @ AVERTISSEMENT: L'IDENTIFICATION DE L'HÔTE À DISTANCE A CHANGÉ! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ IL EST POSSIBLE QUE QUELQU'UN FAIT QUELQUE CHOSE DE MAUVAIS! Quelqu'un pourrait t'écouter en ce moment (attaque de l'homme du milieu)! Il est également possible que la clé d’hôte RSA ait été modifiée. L'empreinte de la clé RSA envoyée par l'hôte distant est 93: a2: 1b: 1c: 5f: 3e: 68: 47: bf: 79: 56: 52: f0: ec: 03: 6b. Veuillez contacter votre administrateur système. Ajoutez la clé d’hôte correcte dans /home/emerson/.ssh/known_hosts pour vous débarrasser de ce message. Clé fautive dans /home/emerson/.ssh/known_hosts:377
La clé d’hôte RSA pour hôte1 a changé et vous avez demandé une vérification stricte. La vérification de la clé de l'hôte a échoué.
Il me garde connecté pendant quelques secondes, puis ferme la connexion.
host1: ~ / .ssh # Lecture depuis l'hôte distant host1: Connexion réinitialisée par un homologue Connexion à l'hôte1 fermée.
Est-ce que quelqu'un sait ce qui se passe et ce que je pourrais faire pour résoudre ce problème?
Réponses:
S'il vous plaît, ne supprimez pas l'intégralité du fichier known_hosts tel que recommandé par certaines personnes, cela annule totalement le sens de l'avertissement. C'est une fonction de sécurité qui vous avertit qu'une attaque au centre pourrait avoir eu lieu.
Je vous suggère d'identifier la raison pour laquelle quelque chose a changé, probablement une mise à niveau SSH a modifié les clés de cryptage en raison d'une éventuelle faille de sécurité. Vous pouvez ensuite purger cette ligne spécifique de votre fichier known_hosts:
Cette d eletes ligne 377 comme indiqué après les deux points dans l'avertissement:
Vous pouvez également supprimer la clé appropriée en procédant comme suit:
Veuillez NE PAS purger l'intégralité du fichier et assurez-vous qu'il s'agit bien de la machine à laquelle vous souhaitez vous connecter avant de purger la clé spécifique.
la source
Je pense que bien que certaines des réponses ici traitent du plan d'action recommandé dans la question du PO, cela ne répond pas complètement à la question.
La question dit "Comment supprimer la vérification de clé RSA stricte dans SSH et quel est le problème ici?"
Le problème ici est, comme l'ont conseillé d'autres personnes, un changement d'hôte probablement dû à la réinstallation du serveur (scénario le plus courant). Et la solution recommandée consiste en effet à supprimer la clé incriminée du fichier .ssh / allowed_keys avec un fichier sed intégré.
Cependant, je n'ai vu aucune réponse à la partie spécifique de la question " Comment supprimer la vérification de clé RSA stricte dans SSH ".
Vous pouvez supprimer la vérification StrictHostKey dans votre fichier de configuration ssh, généralement stocké dans
~/.ssh/config
.Un exemple de bloc d'hôte est fourni ci-dessous:
La ligne spécifiquement ajoutée est la dernière
StrictHostKeyChecking no
qui fait exactement quoi. En fonction de votre scénario spécifique, cela peut vous être utile, par exemple exécuter plusieurs conteneurs virtualisés sur un serveur dédié sur quelques ips, arrêter et démarrer une autre instance sur la même adresse IP.la source
Un autre moyen de supprimer StrictHostKeyChecking, lorsque vous ne devez le faire que pour un seul serveur:
la source
Tout d'abord, est-ce votre machine? Avez-vous sciemment changé les clés de l'hôte? Sinon, je serais très préoccupé par le fait que quelque chose a modifié ces données.
Deuxièmement, augmentez le débogage SSH,
et voyez ce que cela vous dit, essayez également de regarder dans / var / log / secure et / var / log / messages sur le serveur auquel vous essayez de vous connecter pour obtenir des indices, sshd affiche de bons messages d'erreur.
Troisièmement, cette machine est-elle connectée à Internet? Devez-vous vraiment autoriser les connexions root?
la source
Vous obtenez cela parce que quelque chose a changé (comme une nouvelle carte réseau, une nouvelle adresse IP, le changement de logiciel serveur, etc.). L'accent mis sur la sécurité contient un bel article sur la protection des clés d'hôte SSH .
Supprimez simplement la clé (avec SFTP ou similaire) du serveur en modifiant le
$HOME/.ssh/known_hosts
fichier et acceptez le nouveau lors de la prochaine connexion.Votre connexion peut être interrompue à cause du paramètre StrictHostKeyChecking. Voir ce fil pour un problème similaire.
la source
En tant qu'hôte [au sens large du terme, il peut s'agir de tout, d'une réinstallation / démarrage multiple à un tout autre ordinateur avec une adresse IP à laquelle vous vous êtes connecté auparavant], le client ssh semble avoir changé, cela vous donne la Erreur.
Il n'est pas nécessaire de désactiver la vérification stricte, pas plus que la suppression en bloc des clés enregistrées.
Il est tout à fait possible d'avoir deux clés différentes répertoriées dans known_hosts pour un nom d'hôte ou une adresse IP particulier; vous donnant 2 alternatives selon que vous pensez avoir besoin ou non de la 'vieille' clé actuellement stockée dans known_hosts
Supprimez soit la clé particulière à laquelle il fait référence, en l377 de known_hosts pour le PO, soit conservez les deux.
Le moyen le plus simple de conserver les deux, en évitant la suppression de clés dans known_hosts, est
plus de réponses dans "Ajouter la clé d’hôte correcte dans known_hosts" / plusieurs clés d’hôte ssh par nom d’hôte?
la source