J'ai un serveur (supposons que son adresse IP soit abcd) qui permet aux utilisateurs de se connecter via ssh. Maintenant, je veux changer la machine physique en gardant la même IP. Pour que la nouvelle machine soit toujours accessible par un utilisateur comme celui-ci
$ ssh abcd
Le problème est que chaque fois qu'un utilisateur essaie de se connecter, il obtient l'erreur de non-concordance de clé ssh suivante.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ @ AVERTISSEMENT: L'IDENTIFICATION DE L'HÔTE À DISTANCE A CHANGÉ! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ IL EST POSSIBLE QUE QUELQU'UN FAIT QUELQUE CHOSE DE MÉCHANT! Quelqu'un pourrait vous espionner en ce moment (attaque de l'homme du milieu)! Il est également possible que la clé d'hôte RSA vient d'être modifiée. L'empreinte digitale de la clé RSA envoyée par l'hôte distant est 02: dc: c6: 18: 1b: 34: b7: 1d: fa: 90: ab: e1: 95: 48: 69: 84. Veuillez contacter votre administrateur système. Ajoutez la clé d'hôte correcte dans /home/user/.ssh/known_hosts pour vous débarrasser de ce message. Clé incriminée dans /home/user/.ssh/known_hosts:37 La clé d'hôte RSA pour les anciens a changé et vous avez demandé une vérification stricte. La vérification de la clé d'hôte a échoué.
Je sais que l'utilisateur peut supprimer la ligne # 37 du fichier ~ / .ssh / known_hosts et la prochaine fois, elle recevra une invite oui / non. Ce que je veux, c'est que l'utilisateur ne soit pas tenu au courant de tout ce remplacement de machine et obtienne simplement un mot de passe.
Comment faire ça?
ssh
la seule protection contre l'homme au milieu des attaques et pourrait vous amener à envoyer votre mot de passe directement à l'attaquant au lieu de la machine prévue? Sauf si vous savez pertinemment que vous êtes invulnérable aux attaques actives (par exemple, vous êtes sur le même réseau interne sécurisé que la machine cible), cela détruitssh
le modèle de sécurité de.Réponses:
Comme Ethabell l'a mentionné, vous pouvez copier les clés d'hôte actuelles vers le nouveau serveur.
Vous pouvez trouver vos clés d'hôte en ouvrant votre
sshd_config
fichier (sur mon Ubuntu 12.04 box its/etc/ssh/sshd_config
). Dans le fichier de configuration, recherchez lesHostKey
entrées. Ces entrées vous indiqueront l'emplacement des fichiers de clés d'hôte. Vous devriez pouvoir copier ces fichiers sur le nouveau serveur et mettre à jour ceux du nouveau serveursshd_config
pour pointer vers les clés copiées (ou simplement remplacer les fichiers qui existent déjà sur le nouveau serveur).Notez également cette section de la
sshd_config
page de manuel, en particulier la partie sur les autorisations:la source
Si vous aviez la clé d'hôte d'origine, vous pourriez la restaurer et cela arrêterait l'erreur.
Ou, vous pouvez désactiver StrictHostKeyChecking dans votre fichier de configuration sshd.
... Faire cela, cependant, est une très mauvaise idée. S'il existe un moyen pour vous de simplement exécuter
ssh-keygen -R server.example.com
sur les machines clientes, ce serait le meilleur moyen - car la désactivation de la vérification des clés d'hôte revient à dire: «Hé. Attaquez-moi». J'obtiens de l'obscurité quand les choses changent, mais la sécurité devrait être la priorité n ° 1 sur les changements d'obscurcissement.la source
Vous pouvez l'essayer comme ça
Notez que si le dossier .ssh n'existe pas déjà, la commande ci-dessus échouera. En outre, il peut être préférable lors de la création du fichier de définir une autorisation minimale possible (essentiellement en lecture-écriture pour le propriétaire uniquement). Voici une commande plus avancée:
Pour plus d'informations sur ce problème, vous devez accéder à ce site Web: Erreur de changement de clé d'hôte SSH
la source