Bonjour,
Là où je travaille, il y a des milliers d'ordinateurs Linux sur lesquels on peut se connecter par ssh. C'est vraiment bien mais cela pose aussi quelques problèmes d'administration, notamment pour la mise à jour des clés des ordinateurs: à chaque (ré-) installation, les clés sont (re-) générées et il faut donner la clé publique à tous les autres ordinateurs. C'est ce que nous faisons actuellement.
Cependant, je voudrais simplifier la tâche en divisant les ordinateurs accessibles en deux camps: l'intérieur de notre organisation (a priori l'environnement y est sécurisé) et l'extérieur (qui nécessite toutes les précautions). Pour l'intérieur uniquement, je voudrais passer les paramètres "StrictHostKeyChecking" à "no" pour ne pas être dérangé par les "yes" à répondre et "IdentityFile" à "/dev/null" pour éviter de conserver les adresses collectées. Cela se passe dans le fichier /etc/ssh/ssh_config.
Malheureusement, j'ai des difficultés à faire la distinction entre extérieur et intérieur. Les noms des machines à l'intérieur ne possèdent pas de point "." alors que le nom du domaine est indispensable à l'extérieur: mon_ordinateur est une machine de l'intérieur alors que un_ordinateur.un_domaine est considéré comme étant à l'extérieur (et donc avec sécurité maximum).
Le fichier /etc/ssh/ssh_config devrait être comme ce qui suit:
Ce qui devrait vouloir dire: toutes les connexions vers des machines possédant un point au milieu de leur nom ont les paramètres lignes 2 et 3, pour toutes les autres connexions, les paramètres lignes 6 et 7.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Host !?*.?* StrictHostKeyChecking no IdentityFile /dev/null Host * StrictHostKeyChecking yes IdentityFile ~/.ssh/known_hosts
Ça ne marche pas parce que la sélection ligne 1 ne sélectionne rien... J'ai essayé plein de sélections différentes, sans résultat. Auriez-vous une idée du problème?
Partager