C’est un problème simple auquel nous sommes tous confrontés et que nous résolvons probablement manuellement sans trop y penser.
Lorsque les serveurs changent, sont réapprovisionnés ou que les adresses IP sont réaffectées, nous recevons le message de vérification d'hôte SSH ci-dessous. Je suis intéressé par la rationalisation du flux de travail pour résoudre ces erreurs d'identification SSH.
Compte tenu du message suivant, je vi /root/.ssh/known_hosts +434
supprime généralement ( dd
) la ligne incriminée.
J'ai vu des développeurs / utilisateurs d'autres organisations supprimer tout leur known_hosts
fichier, frustrés de voir ce message. Bien que je n’aille pas aussi loin, je sais qu’il existe un moyen plus élégant de gérer cela.
Conseils?
[root@xt ~]# ssh las-db1
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
ed:86:a2:c4:cd:9b:c5:7a:b1:2b:cc:42:15:76:8c:56.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:434
RSA host key for las-db1 has changed and you have requested strict checking.
Host key verification failed.
linux
ssh
command-line-interface
ssh-keys
ewwhite
la source
la source
Réponses:
Vous pouvez utiliser la
ssh-keygen
commande pour supprimer des entrées spécifiques par hôte:Si vous n'avez pas cette commande, vous pouvez toujours utiliser sed:
la source
ssh-keygen
commande. Bien!/etc/ssh/known_hosts
fichier sur votre réseau avec les clés d’hôte appropriées (géré avec puppet, etc.), ou vous remplissez votre fichier personnel ~ / .ssh / known_hosts (pour cela, vous pouvez exécuterssh-keyscan
une recherche sur un disque connexion). Sauf si (et en supposant que vous ne vous souciez pas du tout de la sécurité)UserKnownHostsFile=/dev/null
etStrictHostKeyChecking=no
dans votre~/.ssh/config file
(ou passez les options à ssh avec-o
)En tant qu’utilisateur de marionnettes, ma méthode pour résoudre ce problème consiste à demander à mon serveur de marionnettes de collecter mes clés d’hôte SSH et de les publier sur tous les systèmes qui établissent des connexions SSH.
De cette façon, je n'ai pas à craindre de les enlever. Quatre-vingt-dix-neuf pour cent du temps, marionnette a fonctionné et mis à jour les clés pour moi depuis que mes agents sont en cours d'exécution toutes les trente minutes. Les exceptions pour moi sont très rares, et donc je ne crains pas une édition rapide de l’hôte connu des hôtes connus si je ne suis pas disposé à attendre.
la source
Je voudrais ajouter une suggestion qui peut vous aider dans des cas très spécifiques où la sécurité est moins préoccupante.
J'ai un environnement de laboratoire avec des machines qui sont souvent réinstallées. Chaque fois que cela se produit, de nouvelles clés d’hôte sont générées (je pourrais probablement sauvegarder la clé d’hôte quelque part et la définir dans le script de post-installation).
Étant donné que la sécurité ne me pose pas de problème dans cet environnement de laboratoire et que les clés changent si souvent, mon fichier .ssh / config contient les éléments suivants:
Cela garantit que la connexion à mes machines de laboratoire ne causera plus jamais cette erreur et que mon client ssh se connectera simplement sans vérifier la clé de l'hôte.
C’est quelque chose que vous ne devriez faire que si la sécurité ne vous concerne pas du tout, car cela vous place dans une position vulnérable face à une attaque interceptée.
la source
Selon la note de version de openssh 5.6 , il n’est plus nécessaire d’utiliser les clés d’hôtes:
Avertissement : je n’ai jamais entendu parler de l’utilisation de cette fonctionnalité en production à ce jour. Utilisez-le à vos risques et périls (mais je crois que les développeurs opensh sont suffisamment paranoïaques pour ne pas proposer une telle fonctionnalité si sans beaucoup de tests et d'audit de code).
la source
Le registre de ressources DNS SSHFP peut aider en fonction des avantages dont bénéficie votre client ssh. Stockez toutes vos empreintes digitales de clé publique ssh avec le nom d’hôte.
Implémentez au préalable DNSSEC ou DNS sur SSL.
http://www.ietf.org/rfc/rfc4255.txt
FreeIPA.org gère la gestion des clés des hôtes et des utilisateurs, ainsi que les certificats PKI. Il télécharge également automatiquement les enregistrements DNS SSHFP lorsque de nouvelles clés sont créées.
http://docs.fedoraproject.org/en-US/Fedora/17/html/FreeIPA_Guide/host-keys.html
la source