Ma compréhension du fonctionnement de ~ / .ssh / config est que chaque ligne 'Host' prend effet pour tout hôte correspondant après ce point dans le fichier de configuration.
J'ai un certain nombre de serveurs personnels et de serveurs de travail auxquels je dois me connecter. J'essaie de faire quelque chose comme ceci:
# Réglages généraux ControlMaster auto ControlPath ~/.ssh/controlmaster/%r@%h:% p ForwardAgent oui ForwardX11 oui GSSAPIAuthentication no PubkeyAuthentication oui # Serveurs personnels Hôte * User harleypig IdentityFile ~ / .ssh / personal_id_rsa Hôte host1 Nom d'hôte host1.com Hôte host2 Nom d'hôte host2.com # Serveurs de travail Hôte * Utilisateur alan.young IdentityFile ~ / .ssh / work_id_rsa Travail hôte1 Nom d'hôte work1.companyserver.com Travail hôte2 Nom d'hôte work2.companyserver.com Hôte * Utilisateur devuser Hôte dev1 Nom d'hôte dev1.companyserver.com Hôte dev2 Nom d'hôte dev2.companyserver.com
Les documents semblent indiquer que host1 et host2 devraient utiliser 'personal_id_rsa' et l'utilisateur harleypig. work1, work2, dev1 et dev2 doivent utiliser 'work_id_rsa' et les deux premiers doivent être l'utilisateur 'alan.young' et dev1 et dev2 doivent être l'utilisateur 'devuser'
Cependant, cela ne se produit pas. Quel que soit l'hôte * que je mets en premier, c'est avec quoi tous les hôtes suivants essaient de se connecter. Suis-je incompréhensible ou manque quelque chose?