415 votes

Comment corriger l'avertissement concernant la clé hôte ECDSA ?

J'essaie de configurer SSH sans mot de passe sur un serveur Ubuntu avec ssh-copy-id myuser@myserver mais je reçois l'erreur :

Attention : la clé ECDSA de l'hôte 'myserver' est différente de celle de l'adresse IP '192.168.1.123'.

Quelle est la cause de ce problème, et comment puis-je le résoudre ? J'ai essayé de supprimer le .ssh sur la machine distante, et en exécutant ssh-keygen -R "myserver" localement, mais cela ne résout pas l'erreur.

0 votes

Dans mon cas, je change le serveur(ip) bind avec le domaine, puis la The ECDSA host key for server has changed . Ma méthode consiste à supprimer la chaîne de cache relative au domaine dans le dossier de l'utilisateur. ~/.ssh/known_hosts . Ensuite, le ssh fonctionne.

0 votes

J'ai sauvegardé le fichier .ssh/known_hosts et je l'ai laissé se recréer.

7voto

Jignesh Rawal Points 179

Ssh-keygen -f "/root/.ssh/known_hosts" -R 192.168.1.123

Cela devrait remplacer les clés existantes sous known_hosts.old et en créer une nouvelle. Cette solution a fonctionné pour moi dans le même scénario

2voto

Paz Points 1903

Utilisez-vous le même utilisateur pour vous connecter ?

Si vous êtes connecté à un PC local comme utilisateur John et connecté au serveur B comme un utilisateur Adolf@B et tout est OK, cela ne signifie pas que tout est OK si vous êtes connecté au PC local comme utilisateur Jane et se connecter au serveur B comme un utilisateur Adolf@B .

Si vous voulez vous connecter sur le serveur B en tant qu'utilisateur Beda à partir du PC A sans mot de passe, essayez cette commande, le tout depuis le PC A :

ssh-keygen -t rsa

Cette commande génère la clé et la stocke dans le fichier. Veuillez laisser phrase d'authentification vide.

ssh Beda@B mkdir -p .ssh

Cette commande crée le répertoire, s'il n'existe pas déjà. Sinon, n'imprime pas de message d'erreur.

cd ~/.ssh

Cette commande remplace le répertoire par le répertoire personnel de l'utilisateur ./ssh.

cat id_rsa.pub | ssh Beda@B 'cat >> .ssh/authorized_keys'

Cette commande imprime le fichier id_rsa.pub (votre clé publique) dans clés_autorisées sur le serveur.

IMPORTANT : Beda est votre nom d'utilisateur sur le serveur auquel vous vous connectez, B est l'IP de votre serveur.

Maintenant, vous pouvez vous connecter au serveur B sans mot de passe ou phrase de passe :

ssh Beda@B

1voto

Lars Nordin Points 168

Question : Quelle est la cause de ce qui se passe, ... ?

Donc la clé d'hôte du serveur ssh a changé.  Qu'est-ce qui a causé ce changement ?  C'est difficile à dire.  Voici quelques suppositions :

  • Est-ce que sshd sur mon serveur a commencé à utiliser des clés ECDSA, donc c'est un nouveau type de clé ?
  • Est-ce que myserver a été récemment réinstallé ?
  • Est-ce que sshd sur mon serveur a été récemment réinstallé et une nouvelle clé d'hôte ssh a été générée ?
  • Quelqu'un a-t-il re-généré ou remplacé la clé d'hôte sshd ?
  • L'adresse IP de mon serveur a-t-elle changé de sorte qu'un hôte différent répond à cette adresse IP ?

Question : ... et comment le réparer ?

Comme d'autres ont déjà répondu, supprimez la clé hôte ECDSA pour myserver que votre compte a mise en cache.

1voto

Paul A Jungwirth Points 523

Le fil ici peut aider.

Essentiellement, vous voulez supprimer les clés RSA et ECDSA pour cet hôte, puis utiliser la commande suivante ssh-keyscan pour les remettre dans votre known_hosts d'une manière qui ne causera pas ce conflit. Cela a fonctionné pour moi lorsque j'ai eu le même problème.

1voto

Ajay Kelkar Points 1119

Cette erreur m'a gêné pendant longtemps. Pour une raison ou une autre, cela faisait une différence si je faisais un

ssh host

ou

ssh host.domain

https://askubuntu.com/questions/87449/how-to-disable-strict-host-key-checking-in-ssh

puis m'a indiqué la possibilité de modifier le fichier de configuration. Voir mon script. https://askubuntu.com/a/949731/129227 pour automatiser le processus.

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