1283 votes

ssh l'identification de l'hôte distant a changé

J'ai réinstallé mon serveur et je reçois ces messages :

[user@hostname ~]$ ssh root@pong
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
6e:45:f9:a8:af:38:3d:a1:a5:c7:76:1d:02:f8:77:00.
Please contact your system administrator.
Add correct host key in /home/hostname /.ssh/known_hosts to get rid of this message.
Offending RSA key in /var/lib/sss/pubconf/known_hosts:4
RSA host key for pong has changed and you have requested strict checking.
Host key verification failed.

J'ai essayé diverses solutions que j'ai trouvées sur Internet. Mon site known_hosts (normalement dans ~/.ssh/known_hosts ) est en /var/lib/sss/pubconf/known_hosts . J'ai essayé de le modifier, mais il reste dans un seul état. J'ai installé ipa-client et j'ai Fedora 19. Comment puis-je résoudre cet avertissement ?

Toutes les réponses données jusqu'à présent ne fonctionnent que si Freeipa n'est pas installé.

La bonne réponse pour freeipa dans les commentaires ci-dessous d'adrin est aquí .

2 votes

Je viens de découvrir à la dure que ce problème peut aussi se produire si vous avez un conflit d'adresse ip nslookup votre ip pour déboguer ce problème davantage

4 votes

Il y a une impasse ici. Celle-ci est marquée comme dupliquée, donc personne ne peut ajouter de réponse, et celle qu'elle lie est marquée comme hors sujet, donc personne ne peut y ajouter de réponse non plus. Si vous supprimez les known_hosts, le problème sera également résolu.

1 votes

J'ai eu le même problème. Pour mon bien et celui des autres, voici la question et ma réponse : superuser.com/questions/1071204/

2020voto

Kashif Nazar Points 921

Voici la solution la plus simple

ssh-keygen -R <host>

Par exemple,

ssh-keygen -R 192.168.3.10

Desde ssh-keygen page de manuel :

  • -R hostname Supprime toutes les clés appartenant au nom d'hôte d'un fichier known_hosts. Cette option est utile pour supprimer les hôtes hachés (voir l'option -H ci-dessus).

0 votes

Je suis sous Windows et cette solution, ainsi que la suppression de la clé, ne fonctionnent pas, que puis-je essayer d'autre ?

11 votes

Bon, il s'avère que sous Windows, je dois utiliser le terminal de git bash pour cela (ou tout autre terminal MingW32). C'est difficile.

61 votes

Gardez à l'esprit que si vous vous êtes connecté via un port spécifique, vous pourriez avoir à supprimer avec une syntaxe comme ssh-keygen -R [127.0.0.1]:3022 . Vérifiez simplement votre fichier .ssh/known_hosts pour voir ce qu'il indique explicitement.

289voto

ravi ranjan Points 382

Utilisez

ssh-keygen -R [hostname]

Un exemple avec une adresse IP/un nom d'hôte serait :

ssh-keygen -R 168.9.9.2

Cela mettra à jour l'offense de votre hôte à partir du known_hosts. Vous pouvez également fournir le chemin des hôtes connus avec l'option -f.

3 votes

Retirer la clé correspondante $ ssh-keygen -R {server.name.com} | $ ssh-keygen -R {ssh.server.ip.address} | $ ssh-keygen -R server.example.com

16 votes

Comment une réponse sans explication peut-elle obtenir autant de votes positifs ? Pas de problèmes de sécurité, pas d'explication..... -1

5 votes

Elle semble également être une copie de l'autre réponse ci-dessous. S'il vous plaît un mod nettoyer ce désordre ...

151voto

Ben Points 111

J'ai eu cette même erreur après avoir recréé une image Ubuntu de Digital Ocean. J'ai utilisé la commande suivante avec l'IP de mon serveur à la place de [IP_ADDRESS]

ssh-keygen -R [IP_ADDRESS]

0 votes

Merci beaucoup ! J'utilisais le nom d'hôte et cela ne fonctionnait qu'avec l'adresse IP_ADDRESS :)

1 votes

Cela a fonctionné pour moi et devrait être la réponse acceptée. Je ne sais pas pourquoi il y a deux copies de cette réponse qui sont arrivées plus tard et qui ont toutes deux plus de votes positifs.

0 votes

La vôtre n'était pas la même erreur ; votre serveur n'exécutait pas SSSD. Voir l'OP.

57voto

mockinterface Points 6094

Lorsque vous réinstallez le serveur, son identité change, et vous commencez à recevoir ce message. Ssh n'a aucun moyen de savoir si vous avez changé le serveur auquel il se connecte, ou si un serveur intermédiaire a été ajouté à votre réseau pour renifler toutes vos communications - il vous le signale donc.

Il suffit de retirer la clé de known_hosts en supprimant l'entrée correspondante :

sed '4d' -i /var/lib/sss/pubconf/known_hosts

El 4d est sur le compte de Offending RSA ...known_hosts:4

1 votes

Merci, mais je ne sais pas pourquoi, mais je l'enlève et il y est à nouveau. J'ai essayé d'arrêter le service sssd et cet effet a disparu, mais après avoir démarré sssd, il apparaît à nouveau.

0 votes

Sauvegardez votre répertoire ~/.ssh, puis supprimez-le. Votre service continue-t-il à réinsérer les clés après que ~/.ssh ait été supprimé ?

1 votes

J'ai renommé .ssh en .ssh_old, après une nouvelle tentative de connexion, le répertoire vide .ssh est créé. Et je n'arrive toujours pas à rendre /var/lib/sss/pubconf/known_hosts "éditable".

11voto

3nrique0 Points 21

J'ai utilisé la solution de mockinterface, bien que le sed -i ne fonctionne pas tout à fait. J'ai résolu le problème en supprimant la ligne à la main avec vim :

sudo vim /var/lib/sss/pubconf/known_hosts

Vous pouvez utiliser n'importe quel autre éditeur de texte, mais vous aurez probablement besoin de montrer vos privilèges administratifs.

1 votes

Oui, la suppression de l'enregistrement de la même IP dans le fichier known_hosts résoudra le problème.

0 votes

L'entrée est instantanément recréée par SSSD lors d'une nouvelle tentative de ssh. Notez que sss pubconf known_hosts est un fichier géré, et non un référentiel local alimenté par le serveur local.

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