Comment rendre SSH encore plus facile à utiliser avec les fichiers de configuration |  ZDNet

Secure Shell (SSH) est l’un de ces outils avec lesquels chaque utilisateur de Linux travaillera probablement à un moment donné. Avec SSH, vous pouvez facilement (et en toute sécurité) vous connecter à des serveurs et des postes de travail distants pour administrer, développer et vérifier ces machines.

L’utilisation de SSH est aussi simple que :

ssh jack@192.168.1.11

Ou même simplement :

ssh 192.168.1.11

Bien sûr, vous échangeriez l’adresse IP contre l’adresse (ou le domaine) de la machine à laquelle vous devez accéder.

ZDNet recommande

Les meilleures classes Linux Foundation

Les meilleures classes Linux Foundation

Vous voulez un bon emploi technique? Ensuite, vous devez connaître Linux et les logiciels open source. L’une des meilleures façons d’apprendre consiste à suivre un cours Linux Foundation.

SSH devient un peu moins simple lorsque vous accédez à de nombreuses machines avec différentes configurations (telles que différents noms d’utilisateur ou clés d’authentification SSH). Imaginez si vous aviez une vingtaine de serveurs différents auxquels vous deviez vous connecter quotidiennement. Non seulement vous devrez garder une trace des adresses IP ou des domaines de ces serveurs, mais vous devrez également vous rappeler quels noms d’utilisateur ou clés d’authentification ont été utilisés. Cela seul pourrait devenir assez écrasant.

Heureusement, SSH vous permet de créer un fichier de configuration pour héberger toutes ces informations. Ainsi, au lieu d’avoir à taper quelque chose comme ssh olivia@192.168.1.100 -p 2222vous pouvez simplement taper sshweb1.

Laissez-moi vous montrer comment cela se fait.

Création du fichier de configuration SSH

Connectez-vous à la machine Linux que vous utilisez pour vous connecter en SSH à toutes ces machines distantes. Ouvrez une fenêtre de terminal et créez le nouveau fichier de configuration avec la commande indiquée dans Figure A.

Figure A

sshconfig1.jpg

Création du nouveau fichier de configuration SSH à l’aide de nano.

Comme il s’agit d’un nouveau fichier, ce sera une toile vierge sur laquelle nous pourrons commencer à ajouter des configurations pour les serveurs. Supposons que vous souhaitiez configurer les serveurs distants suivants :

  • web1 au 192.168.1.100 avec l’utilisateur olivia

  • db1 à 192.168.1.101 avec l’utilisateur nathan et la clé SSH ~/.ssh/id_nathan

  • docker1 à 192.168.1.102 avec l’utilisateur lilly sur le port 2222

Notre première entrée ressemblera à ceci :

Host "web1"
     Hostname "192.168.1.100"
     User olivia

Si vous enregistrez et fermez le fichier à ce stade, vous pouvez vous connecter en SSH à 192.168.1.100 avec la commande :

ssh web1

Continuons et configurons les deux entrées suivantes, qui ressembleront à ceci :

Host db1
     Hostname "192.168.1.101"
     User nathan
     IdentityFile ~/.ssh/id_nathan
     PubkeyAuthentication yes

Host docker1
     Hostname "192.168.1.102"
     User lilly
     Port 2222

Enregistrez et fermez le fichier. Vous pouvez maintenant sécuriser le shell dans ces machines avec les commandes :

ssh web1
ssh db1
ssh docker1

Vous pouvez utiliser le surnom dont vous avez besoin pour chaque hôte, rendez-les simplement mémorables, afin de ne pas oublier la machine que vous essayez d’atteindre et de devoir constamment référencer le fichier de configuration pour vous vider la mémoire.

Supposons cependant que vous utilisiez le même nom d’utilisateur sur tous vos serveurs distants, mais que vous utilisiez un nom d’utilisateur différent sur votre machine locale. Par exemple, le nom d’utilisateur de votre ordinateur local peut être jack, mais vous avez créé l’utilisateur admin sur tous vos serveurs distants. Vous pouvez créer une seule entrée pour tous ces serveurs avec un caractère générique dans l’adresse IP comme ceci :

Host 192.168.1.*
User admin

La configuration ci-dessus serait placée en haut de votre fichier de configuration.

Vous pouvez ensuite configurer chaque serveur individuellement selon vos besoins, en laissant de côté l’option Utilisateur. Par exemple, si les deux serveurs 192.168.1.200 et 192.168.1.201 utilisent l’authentification par clé SSH, vous pouvez configurer les entrées comme suit :

Host web2
     Hostname 192.168.1.200
     IdentityFile ~/.ssh/id_admin
     PubkeyAuthentication yes

Host web3
     Hostname 192.168.1.201
     IdentityFile ~/.ssh/id_admin
     PubkeyAuthentication yes

Étant donné que nous avons appliqué l’administrateur de l’utilisateur à toute la gamme de machines sur le schéma d’adresse IP 192.168.1.x, ce nom d’utilisateur sera appliqué à toutes les connexions. Vous pouvez également remplacer cette configuration globale en ajoutant une ligne de configuration utilisateur selon les besoins.

Le fichier de configuration SSH permet plusieurs autres options (qui peuvent toutes être lues dans la documentation officielle de la configuration SSH), mais ces exemples présentés ci-dessus devraient être tout ce dont vous avez besoin pour démarrer avec le fichier de configuration SSH.

Et c’est tout ce qu’il y a à utiliser le fichier de configuration SSH pour faciliter encore plus votre accès à distance avec Secure Shell.