Solution 1 :
IMO, la meilleure façon de procéder est la suivante :
ssh-keygen -R [hostname]
ssh-keygen -R [ip_address]
ssh-keygen -R [hostname],[ip_address]
ssh-keyscan -H [hostname],[ip_address] >> ~/.ssh/known_hosts
ssh-keyscan -H [ip_address] >> ~/.ssh/known_hosts
ssh-keyscan -H [hostname] >> ~/.ssh/known_hosts
Cela garantira qu'il n'y a pas d'entrées en double, que vous êtes couvert à la fois pour le nom d'hôte et l'adresse IP, et hachera également la sortie, une mesure de sécurité supplémentaire.
Solution 2 :
Définissez le StrictHostKeyChecking
option à no
, soit dans le fichier de configuration soit via -o
:
ssh -o StrictHostKeyChecking=no [email protected]
Solution 3 :
Pour les paresseux :
ssh-keyscan -H <host> >> ~/.ssh/known_hosts
-H hache le nom d'hôte / l'adresse IP
Solution 4 :
Comme mentionné, l'utilisation du balayage de clé serait la bonne façon discrète de le faire.
ssh-keyscan -t rsa,dsa HOST 2>&1 | sort -u - ~/.ssh/known_hosts > ~/.ssh/tmp_hosts
mv ~/.ssh/tmp_hosts ~/.ssh/known_hosts
Ce qui précède fera l'affaire pour ajouter un hôte, UNIQUEMENT s'il n'a pas encore été ajouté. Il n'est pas non plus sûr pour la concurrence; vous ne devez pas exécutez l'extrait sur la même machine d'origine plus d'une fois en même temps, car le fichier tmp_hosts peut être encombré, ce qui finit par gonfler le fichierknown_hosts...
Solution 5 :
Vous pouvez utiliser ssh-keyscan
commande pour récupérer la clé publique et l'ajouter à votre known_hosts
fichier.