245 votes

Supprimer la clé de known_hosts

J'ai construit plusieurs machines virtuelles au cours des dernières semaines. Le problème est que les .ssh/known_hosts me donne le L'homme au milieu avertissement. Cela se produit parce qu'une autre empreinte digitale est associée à l'IP de la machine virtuelle.

Dans le .ssh/known_hosts Cependant, je ne trouve pas l'enregistrement lié à l'IP, seulement deux chaînes bizarres, semblables à des clés, et "ssh-rsa".

Est-ce que quelqu'un a une idée sur la façon d'enlever l'ancienne clé de l'ordinateur ? known_hosts ?

10 votes

Les "chaînes bizarres, semblables à des clés" auxquelles vous faites référence sont les adresses IP/hôtes hachées. Il s'agit d'une fonctionnalité de sécurité qui permet d'empêcher un intrus de savoir à quels systèmes vous avez accès. Si vous voyez cela, c'est que votre ssh_config a été modifié. HashKnownHosts yes set.

1 votes

Si vous avez l'impression que le contenu du fichier est trop confus, vous avez probablement activé le retour à la ligne. Désactivez-la. Toutes les lignes commencent par un nom d'hôte ou une adresse IP.

-1voto

keithwarren7 Points 6672

Vous pouvez également supprimer une seule ligne des hôtes connus avec, par exemple, la méthode suivante rmknownhost 111 (111 est la ligne à supprimer) :

#! /usr/bin/env ruby
line = ARGV[0] || raise("gimme line to remove")
hosts = File.expand_path("~/.ssh/known_hosts")
content = File.readlines(hosts)
removed = content.delete_at line.to_i - 1
puts "Removed:\n#{removed}"
File.open(hosts, 'w'){|f| f.write content * ""}

Enregistrer sous rmknownhost dans un dossier de votre PATH .

1 votes

Quel est l'avantage de cette méthode par rapport à l'utilisation d'un éditeur de texte ? Y a-t-il une raison de ne pas le faire de cette façon, comme la façon dont sudoers doit être édité avec visudo ?

0 votes

Quelles distros sont livrées avec ça ? Ubuntu ne semble pas l'avoir.

0 votes

L'avantage est que c'est automatisé et rapide / c'est un binaire séparé que vous ajoutez vous-même.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X