Je voudrais désactiver la vérification stricte de la clé de l'hôte dans ssh
pour Ubuntu 11.04. Comment faire ?
Réponses
Trop de publicités?Dans votre ~/.ssh/config
(si ce fichier n'existe pas, il suffit de le créer) :
Host *
StrictHostKeyChecking no
Cela le désactivera pour tous les hôtes auxquels vous vous connectez. Vous pouvez remplacer l'option *
avec un modèle de nom d'hôte si vous voulez qu'il ne s'applique qu'à certains hôtes.
Assurez-vous que les permissions sur le fichier limitent l'accès à vous-même uniquement :
sudo chmod 400 ~/.ssh/config
Plutôt que de l'ajouter à votre ~/.ssh/config
pour tous les hôtes *, il serait plus sûr de spécifier un hôte particulier.
Vous pouvez également passer un paramètre sur la ligne de commande comme ceci :
ssh -o StrictHostKeyChecking=no yourHardenedHost.com
Cela ajoutera automatiquement la clé d'hôte à votre fichier known_hosts si elle n'y est pas déjà.
S'il y a un décalage, il affichera un grand avertissement et ne mettra pas à jour known_hosts. Il désactivera également l'authentification par mot de passe pour éviter les attaques MITM. L'authentification par clé privée continuera cependant à passer automatiquement, ce que vous ne souhaitez peut-être pas.
Il est utile d'indiquer ce paramètre dans votre configuration ssh :
StrictHostKeyChecking no
Cela signifie que les clés d'hôtes sont toujours ajoutées à .ssh/known_hosts - vous ne serez simplement pas invité à leur faire confiance, mais si les hôtes changent, je suis prêt à parier que vous recevrez le gros avertissement à ce sujet. Vous pouvez contourner ce problème en ajoutant un autre paramètre :
UserKnownHostsFile /dev/null
Cela ajoutera tous ces hôtes "nouvellement découverts" à la corbeille. Si la clé d'un hôte change, pas de problème.
Je m'en voudrais de ne pas mentionner que le contournement de ces avertissements sur les clés d'hôte a des ramifications évidentes en matière de sécurité - vous devez faire attention à ce que vous le fassiez pour les bonnes raisons et à ce que ce à quoi vous vous connectez soit réellement est à quoi vous voulez vous connecter et non à un hôte malveillant, car à ce stade, vous avez érodé une grande partie de la sécurité de ssh en tant que solution.
Par exemple, si vous essayez de définir ce paramètre à l'aide de la ligne de commande, la commande complète sera la suivante :
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host
Ce serait cependant stupide - étant donné que les exemples de travail ci-dessus pour les fichiers de configuration ssh sont susceptibles d'avoir plus de sens dans tous les cas.
- Réponses précédentes
- Plus de réponses