3 votes

Comment configurer un serveur SSH pour utiliser une certaine clé publique ?

J'ai un ordinateur de bureau dual boot Windows 7 / Ubuntu 12.04 et j'ai installé le serveur openSSH dans les deux (en utilisant cygwin64 sous Windows). J'ai connecté mon ordinateur portable, exécutant Ubuntu 12.04, au serveur openSSH Cygwin64, et une entrée à ~/.ssh/known_hosts a été normalement ajouté. Maintenant, j'essaie de me connecter au serveur openSSH d'Ubuntu (même IP, nom de domaine) et j'obtiens l'erreur :

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 

Ceci est bien sûr dû au fait que les deux serveurs fonctionnant sur des systèmes d'exploitation différents sur la même machine ont créé des clés publiques différentes et des empreintes digitales correspondantes. Existe-t-il un moyen de les synchroniser (c'est-à-dire de copier toutes les informations relatives aux clés publiques de l'un à l'autre) ?

0voto

SetJmp Points 4672

Ce n'est pas la meilleure façon de contourner le problème. Si vous configurez le côté Ubuntu pour utiliser une adresse IP différente de celle que vous utilisez dans Windows, vous ne devriez pas avoir ce problème.

Si vous ne pouvez pas le faire, une solution plus directe consiste à désactiver la vérification de la clé d'hôte pour cet hôte sur votre ordinateur portable.

Notez que cela empêchera ssh de vous avertir d'une attaque man-in-the-middle où quelqu'un se fait passer pour votre système à double démarrage sur votre réseau, mais cela a probablement très peu de chances de se produire.

Pour désactiver la vérification de la clé d'hôte, ajoutez ce qui suit en haut de ~/.ssh/config ou /etc/ssh/ssh_config :

Host <HOSTNAME OR IP ADDRESS>
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null

L'option 'StrictHostKeyCheck no' empêchera votre ordinateur portable de vérifier l'identification de l'hôte distant, et l'option 'UserKnownHostsFile=/dev/null' fera en sorte que ssh enregistre l'identification de l'hôte distant dans /dev/null, ce qui signifie qu'elle ne sera pas enregistrée.

0voto

richardneish Points 95

Le fichier de clé d'hôte par défaut est /etc/ssh/ssh_host_key pour le protocole version 1, et /etc/ssh/ssh_host_rsa_key et/etc/ssh/ssh_host_dsa_key pour le protocole version 2. Essayez de copier ces fichiers de votre système Ubuntu à votre système Cygwin (ou vice versa).

Une autre option consiste à utiliser l'option de configuration HostKey dans sshd_config pour pointer vers un autre fichier de clé hôte qui est le même sur les deux systèmes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X