Ignorer temporairement mon file `~ / .ssh / known_hosts`?

Existe-t-il un moyen d'ignorer temporairement mon file ~/.ssh/known_hosts ?

 mbp:~ alexus$ ssh 10.52.11.171 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Please contact your system administrator. Add correct host key in /Users/alexus/.ssh/known_hosts to get rid of this message. Offending RSA key in /Users/alexus/.ssh/known_hosts:155 RSA host key for 10.52.11.171 has changed and you have requested ssortingct checking. Host key verification failed. mbp:~ alexus$ 

REMARQUE:

… par quelques réponses / commentaire (s), je me rends count que ma question est un peu trompeuse, si courte, c'est un comportement attendu), donc c'est normal (dans mon cas), il y a une raison valable de la raison pour laquelle je veut "ignorer")

Vous pouvez utiliser ssh -o SsortingctHostKeyChecking=no pour désactiver la vérification des known_hosts momentanément. Mais je conseillerais cela. Vous devriez vraiment vérifier pourquoi la key hôte a changé.

Une autre option consiste à append une input spécifique à votre ~/.ssh/config pour l'hôte en question. Cela pourrait être une approche valide si vous avez un certain hôte qui génère de nouvelles keys d'hôte chaque fois qu'il redémarre et il est redémarré pour une raison valable plusieurs fois par jour.

 Host <your problematic host> SsortingctHostKeyChecking no 

Pour ignorer complètement votre file hôte connu dans un environnement POSIX, définissez les options GlobalKnownHostsFile et UserKnownHostsFile dans /dev/null :

ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null user@host

Réglage de SsortingctHostKeyChecking=no option ne vous permettra de vous connecter, mais SSH affichera toujours un avertissement :

ssh -o SsortingctHostKeyChecking=no user@host

Comme d'autres l'ont noté, il est probablement préférable d'aborder la question sous-jacente. Vous pourriez envisager l' authentification de certificate SSH pour vérifier les hôtes, par exemple.

Si vous avez réinstallé le server et, par conséquent, l'Identification a changé, vous devez simplement supprimer la ligne 155 spécifiée par /Users/alexus/.ssh/known_hosts et continuer.

Si vous basculez entre différents réseaux privés, vous devez utiliser les noms d'hôtes pour vous connecter à la place, car le client ssh sauvegardera également les keys en fonction du nom d'hôte. Ajoutez quelque chose comme ceci à votre /etc/hosts :

 10.52.11.171 server1 10.52.11.171 server2 

puis utilisez ssh server1 lorsqu'il est connecté au sous-réseau 1 et au ssh server2 lorsqu'il est connecté au sous-réseau2. De cette façon, les deux servers peuvent avoir différentes keys d'hôte.

-o SsortingctHostKeyChecking=no seulement fonctionne si l'hôte n'est pas déjà présent dans le file known_hosts.

Je pense que c'est plus propre (pas d'avertissement), si vous prévoyez que la key des hôtes change peut-être en raison du clonage vm, pour faire respecter l'ignorance de ces types d'hôtes comme ceci:

 # Handle possible SSH key changes host_key=$(ssh-keyscan -t rsa ${host_ip}) grep "${host_key}" ~/.ssh/known_hosts >/dev/null || { ssh-keygen -R ${host_ip} echo ${host_key} >> ~/.ssh/known_hosts } # connect as normal way ssh root@${host_ip} "hostname" 

Connectez-vous à tous vos servers, (et si RedHat) rm -f /etc/ssh/ssh_host_* puis redémarrez SSHD.

Cela créera de nouvelles keys d'hôte SSH qui ne doivent pas être ignorées.

Je ne peux penser qu'à une seule instance où les keys SSH clonées sur plusieurs servers ne sont pas seulement souhaitées, mais ne jette pas non plus d'avertissements. Multiples d'un logging A. Tous les hôtes avec l'logging A ont la même key.