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.

625voto

James Mertz Points 390

Supprimez la clé en cache pour 192.168.1.123 sur la machine locale :

ssh-keygen -R 192.168.1.123

107voto

aardvarkk Points 1647

Dans mon cas ssh-keygen -R ... n'a pas réparé l'avertissement. J'avais des informations supplémentaires comme celles-ci :

Offending key for IP in /home/myuser/.ssh/known_hosts:8
Matching host key in /home/myuser/.ssh/known_hosts:24

J'ai simplement édité manuellement ~/.ssh/known_hosts et j'ai supprimé la ligne 8 (la "touche incriminée"). J'ai essayé de me reconnecter, l'hôte a été ajouté de façon permanente, et tout est allé bien après cela !

24voto

Protector one Points 1546

Je fais beaucoup d'échanges par ssh entre les ordinateurs de mon réseau local et mes deux comptes d'hébergement web, et j'ai donc résolu toutes sortes de problèmes avec SSH, y compris des problèmes d'authentification en utilisant la fonction ssh -v pour voir où et ce qui a mal tourné.

Ayant juste résolu ce problème et n'étant pas satisfait des réponses, je voulais vraiment savoir "pourquoi" moi-même...

Le déclencheur de mon cas est le suivant : j'ai installé un nouveau système d'exploitation au travail et, lors de l'installation du paquet openssh-server, un nouveau jeu de clés d'hôte a été généré sur le serveur du travail. Auparavant, tous mes systèmes d'exploitation de serveur étaient Ubuntu et cette fois-ci, ils ont changé pour Debian (et je soupçonne qu'il y a une différence nuancée dans les permissions).

Lorsque tous les OS étaient Ubuntu et que je réinstalle l'OS d'un serveur, lors de la première connexion SSH, j'obtiens ce type d'avertissement, que je préfère à l'avertissement silencieux ci-dessus !

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
06:ea:f1:f8:db:75:5c:0c:af:15:d7:99:2d:ef:08:2a.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending key in /home/user/.ssh/known_hosts:4
RSA host key for domain.com has changed and you have requested strict checking.
Host key verification failed.

Puis j'ouvre ~/.ssh/known_hosts sur l'ordinateur initiant le ssh, supprimez cette ligne, reconnectez-vous et voilà ce qui se passe :

chris@home ~ $ ssh work
The authenticity of host '[work]:11122 ([99.85.243.208]:11122)' can't be established.
ECDSA key fingerprint is 56:6d:13:be:fe:a0:29:ca:53:da:23:d6:1d:36:dd:c5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[work]:11122 ([99.85.243.208]:11122)' (ECDSA) to the list of known hosts.
Linux rock 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64

La partie concernant :11122 est le numéro de port à partir duquel je route SSH sur le pare-feu.

J'ai vérifié les sauvegardes d'un ancien serveur Ubuntu et les ai comparées à ma nouvelle installation Debian :

Ubuntu:                                            Debian:
# Package generated configuration file             # Package generated configuration file
# See the sshd(8) manpage for details              # See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for      # What ports, IPs and protocols we listen for
Port 22                                            Port 22
# Use these options to restrict which interface    # Use these options to restrict which interfaces
#ListenAddress ::                                  #ListenAddress ::
#ListenAddress 0.0.0.0                             #ListenAddress 0.0.0.0
Protocol 2                                         Protocol 2
# HostKeys for protocol version 2                  # HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key                  HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key                  HostKey /etc/ssh/ssh_host_dsa_key
------------------------------------------------   HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security    #Privilege Separation is turned on for security
UsePrivilegeSeparation yes                         UsePrivilegeSeparation yes

Donc oui, il est probable que l'hôte a commencé à utiliser des clés ecdsa récemment, ce que je mettrais sur le compte d'une mise à jour, compte tenu des changements récents d'Ubuntu. Le fait qu'Ubuntu s'éloigne du système d'exploitation linux solide comme le roc sur lequel je comptais est la raison pour laquelle j'ai installé Debian cette fois-ci.

J'ai lu un sécurité.SE q/a sur ecdsa et j'ai déjà supprimé cette ligne de sshd_config mon nouveau serveur Debian. (et j'ai exécuté service ssh restart )

13voto

KimSJ Points 221

J'ai ajouté les lignes suivantes à mon ~/.ssh/config, désactivant ainsi la vérification stricte des hôtes pour toutes les adresses .local. (avec l'allocation d'adresses DHCP, les adresses IP de mes machines locales changent constamment)

host *.local
    StrictHostKeyChecking no

Vous recevez quand même l'avertissement, ce qui me convient.

9voto

tomp Points 1170

L'invite se produit à chaque fois car les adresses IP changent en permanence lors de l'utilisation de l'adressage dynamique. Essayez d'utiliser l'IP statique afin de n'avoir à ajouter la clé qu'une seule fois.

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