Est-il possible d'ignorer temporairement mon ~/.ssh/known_hosts
fichier?
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 strict checking.
Host key verification failed.
mbp:~ alexus$
REMARQUE:
.. par quelques réponses / commentaires (s), je me rends compte que ma question est un peu trompeuse, donc bref, c'est le comportement attendu), il est donc normal (dans mon cas) qu'il existe une raison valable derrière veux voir "l'ignorer")
Réponses:
Vous pouvez utiliser
ssh -o StrictHostKeyChecking=no
pour désactiverknown_hosts
momentanément la vérification . Mais je déconseillerais cela. Vous devriez vraiment vérifier pourquoi la clé de l'hôte a changé.Une autre option consiste à ajouter une entrée spécifique à votre
~/.ssh/config
pour l'hôte en question. Cette approche peut être valide si vous avez un hôte spécifique qui génère de nouvelles clés d’hôte à chaque redémarrage et qui redémarre plusieurs fois par jour pour une raison valable.la source
-o StrictHostKeyChecking=no
supprime la possibilité de se connecter avec un mot de passe. L'absence d'indicateur à cet égard ne va-t-elle pas directement à l'encontre des principes Unix permettant à l'utilisateur de forcer le comportement? J'essaie actuellement de me connecter à une machine locale avec une adresse IP locale. La clé de l'hôte a changé car j'ai reformaté ladite machine. Tout ici a du sens et rien n’est un risque pour la sécurité dans les circonstances.Pour ignorer complètement votre fichier hosts connu dans un environnement POSIX, définissez les options
GlobalKnownHostsFile
etUserKnownHostsFile
sur/dev/null
:ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null user@host
La définition de l’
StrictHostKeyChecking=no
option vous permettra de vous connecter, mais SSH affichera tout de même un avertissement :ssh -o StrictHostKeyChecking=no user@host
Comme d'autres l'ont noté, il est probablement préférable de s'attaquer au problème sous-jacent. Vous pouvez par exemple envisager l' authentification par certificat SSH pour vérifier les hôtes.
la source
-o StrictHostKeyChecking=no
en plus des-o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null
options? - pour une réponse finale dessh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host
:?Si vous avez réinstallé le serveur et que l'identification a donc été modifiée, supprimez simplement la ligne 155 spécifiée
/Users/alexus/.ssh/known_hosts
et poursuivez.Si vous passez d'un réseau privé à un autre, utilisez plutôt les noms d'hôte pour vous connecter, car le client ssh enregistre également les clés en fonction du nom d'hôte. Ajoutez quelque chose comme ceci à votre
/etc/hosts
:puis utiliser
ssh server1
lorsqu’il est connecté au sous-réseau 1 etssh server2
lorsqu’il est connecté au sous-réseau2. De cette façon, les deux serveurs peuvent avoir des clés d’hôte différentes.la source
-o StrictHostKeyChecking=no
ne fonctionne que si l'hôte n'est pas déjà présent dans le fichier known_hosts.Je pense que c'est plus propre (pas d'avertissements), si vous vous attendez à ce que la clé des hôtes change peut-être à cause du clonage de la machine virtuelle, imposez de ne pas tenir compte de ce type d'hôtes comme ceci:
la source
Certaines personnes disent que ce n'est pas correct, vous ne devriez pas le faire, etc., mais j'ai également besoin de cela pour tester plusieurs appareils intégrés à maintes reprises. Vous devez désactiver
StrictHostKeyChecking=no
, c’est exact, mais également réinitialiser le fichier hosts connu sur/dev/null
. Voici un exemple avec connexionps
automatique et sur périphérique distant.la source
Connectez-vous à tous vos serveurs (et si RedHat)
rm -f /etc/ssh/ssh_host_*
, puis redémarrez SSHD.Cela créera de nouvelles clés d'hôte SSH qu'il n'est pas nécessaire d'ignorer.
Je ne peux penser qu'à un seul cas où des clés SSH clonées sur plusieurs serveurs sont non seulement souhaitées mais ne génèrent également aucun avertissement. Multiples d'un enregistrement A. Tous les hôtes avec l'enregistrement A ont la même clé.
la source