Réparer une erreur SSH avec des plugins Centreon.

Depuis quelques jours j’ai une erreur de connexion via le SSH depuis un de mes scripts vers un switch. Voici la solution.

J’utilise un script qui surveille la consommation POE sur mes switchs Cisco. Depuis quelques jours, pour un switch en particulier j’ai l’erreur SSH suivante :

 # FIX: .ssh/known_hosts

erruer_ssh_script_centreon_1

Après quelques recherches sur le Net, voici la solution pour résoudre ce problème.

Je décide donc d’exécuter le script depuis mon poller Centreon pour voire si l’erreur d’exécution est un peu plus détaillée.

#su centreon-engine
Les plugins sont exécutés avec cet utilisateur sous CES.
 # ./check_ssh_cisco4500_poe -H 192.168.1.20 -k "sh power inline | exclude n/a" -w 1520 -c 2130

Voici l’erreur :

 # FIX: .ssh/known_hosts
 # SSHProcessError The ssh process was terminated. at ./check_ssh_cisco4500_poe line 99

erruer_ssh_script_centreon_2

A priori l’erreur provient de la connexion SSH sur l’équipement. J’essaie toujours depuis mon poller et avec l’utilisateur centreon-engine de me connecter sur l’équipement en SSH.

 # ssh admin@192.168.1.20

Et voici l’erreur SSH qui m’est retournée :

 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @ 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
 30:b3:ba:1f:40:a5:2b:58:d7:1e:a2:73:82:fc:f2:e5.
 Please contact your system administrator.
 Add correct host key in /var/lib/centreon-engine/.ssh/known_hosts to get rid of this message.
 Offending key in /var/lib/centreon-engine/.ssh/known_hosts:72
 Password authentication is disabled to avoid man-in-the-middle attacks.
 Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.

erruer_ssh_script_centreon_3

Nous voyons que la clé de l’hôte à dû changer et ne correspond plus à celle que nous avons sur notre poller. Ces clés sont stockées dans le fichier known_hosts sur notre CES.

#/var/lib/centreon-engine/.ssh/known_hosts
Astuce !!! Pour trouver l’emplacement du fichier known_hosts, vous pouvez utiliser la commande locate. N’oublier pas avant de faire un updatedb qui permet de mettre à jour la base de données des fichiers recherchés par la commande locate
#locate known_hosts

erruer_ssh_script_centreon_4

Il existe plusieurs méthodes plus ou moins facile pour supprimer/modifer une clé dans ce fichier. La méthode la plus simple pour moi étant celle-ci :

#ssh-keygen –R @IP-Equipement
#ssh-keygen –R 192.168.1.20

erruer_ssh_script_centreon_6

Avant la modification, le fichier est sauvegardé sous le nom known_hosts.old.

Ensuite, reconnectez-vous sur le switch avec la commande suivante :

#ssh admin@192.168.1.20

erruer_ssh_script_centreon_7

Enfin, déclencher un contrôle forcé du service. L’erreur a maintenant disparu et les informations remontent correctement.

erruer_ssh_script_centreon_8

That’s All.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *