Lorsque l’on travaille avec des machines virtuelles (virtualbox, qemu) ou même des cartes embarquées, il arrive souvent qu’une même IP soit utilisée pour différentes machines. Aussi à chaque fois que vous changez de cible, ssh crie :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 11:76:0e:cf:75:c0:b0:97:a0:2e:84:78:9e:e6:ee:5e. Please contact your system administrator. Add correct host key in /home/julienvdg/.ssh/known_hosts to get rid of this message. Offending key in /home/julienvdg/.ssh/known_hosts:132 RSA host key for 192.168.56.101 has changed and you have requested strict checking. Host key verification failed.
Et vous devez aller effacer la ligne 132 du fichier known_hosts
!
Pour éviter ça, il suffit d’ajouter une ligne de configuration dans votre fichier ~/.ssh/config
Par exemple pour virtualbox j’utilise :
Host vbox101 HostName 192.168.56.101 StrictHostKeyChecking no UserKnownHostsFile /dev/null LogLevel QUIET
Ceci fait d’une pierre deux coups:
- premièrement j’utilise vbox101 et non 192.168.56.101 sur mes lignes de commandes
ssh
etscp
, - deuxièmement le fichier
known_host
n’est plus affecté par ces connexions.
Il est même possible de définir d’autres options comme le nom d’utilisateur (User
), pour en savoir plus: man ssh_config
!
Il peut être nécéssaire de faire un :
chmod 600 ~/.ssh/config
Pour éviter l'erreur "Bad owner or permissions on ~/.ssh/config"
Super article !