Le plus simple : `ssh-keygen -R <hostname>`.
Sinon, tu peux tout à fait éditer le known_hosts. Une ligne = un
serveur. Sur la ligne y figure l'hostname.
Le 10/09/2019 à 17:01, Delaunay Christophe a écrit :
Bonjour tous,
Tant qu’on n’a pas fini de mettre au point les softs de nos petits
systèmes embarqués, on aime bien y laisser tourner un serveur SSH pour
y ouvrir des shells facilement et y lancer des commandes pour les
déboguer.
Malheureusement, quand on trouve un bug et qu’on veut le fixer, on est
souvent obligé de regénérer le file system de la plateforme. Du coup,
le petit serveur SSH qui tourne dessus nous envoie une empreinte,
(fingerprint), différente de celle connue par le client SSH et le
client refuse de s’y connecter.
Pour le moment, la seule solution que j’ai trouvée pour pouvoir me
connecter à nouveau sur ma plateforme consiste à effacer le fichier
~/.ssh/known_hosts. Ma plateforme redevient alors « inconnue » et le
client SSH veut bien s’y connecter et ajouter son empreinte à
~/.ssh/known_hosts.
Mais en détruisant complètement ce fichier ~./ssh/known_hosts, je
« perds » tous les autres serveurs SSH auxquels je me suis connecté.
D’où ma question :
Si j’ouvre ce fichier dans un éditeur, je lis certes du texte mais
c’est incompréhensible. Je suppose que chaque ligne correspond à
l’empreinte d’un serveur. Mais y a-t-il un moyen de savoir de quel
serveur telle ou telle ligne est l’empreinte ?
Parce que si je sais ça, je vais probablement pouvoir supprimer la
ligne du ~/.ssh/known_hosts qui correspond à ma plateforme pour que
mon client SSH ne croit plus la connaître, sans pour autant devoir
enlever les empreintes de tous les autres serveurs auxquels je me suis
connecté. Est-ce possible ?
Bon après-midi. @+ ChD