Comment rendre SSH encore plus facile à utiliser avec des fichiers de configuration
Si vous utilisez Secure Shell pour vous connecter à des serveurs Linux distants tout au long de la journée, vous devriez envisager d'utiliser un fichier de configuration pour vous faciliter la vie. Voici comment faire.
Le Shell Sécurisé (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 bureaux distants pour administrer, développer et vérifier ces machines.
Utiliser SSH est aussi simple que :
ssh jack@192.168.1.11Ou même juste :
ssh 192.168.1.11Bien sûr, vous devez échanger l'adresse IP pour l'adresse (ou le domaine) de la machine à laquelle vous devez accéder.
SSH devient un peu moins simple lorsque vous avez de nombreuses machines auxquelles vous accédez avec différentes configurations (comme des noms d'utilisateur ou des clés d'authentification SSH différents). Imaginez que vous ayez environ 20 serveurs différents auxquels vous devez 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 étaient utilisés. Rien que cela pourrait devenir plutôt écrasant.
Heureusement, SSH vous permet de créer un fichier de configuration pour héberger toutes ces informations. Ainsi, au lieu de devoir taper quelque chose comme ssh olivia@192.168.1.100 -p 2222, vous pouvez simplement taper ssh web1.
Laissez-moi vous montrer comment cela se fait.
Comment créer le fichier de configuration SSH
Ce dont vous aurez besoin : Les seules choses dont vous aurez besoin pour cela sont un ordinateur de bureau avec OpenSSH installé et un ou plusieurs serveurs qui autorisent les connexions SSH.
1. Créez le fichier de configuration
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.
Créer un nouveau fichier de configuration SSH avec l'aide de nano.
Puisqu'il s'agit d'un nouveau fichier, ce sera une toile vierge à laquelle nous pouvons commencer à ajouter des configurations pour les serveurs. Disons que vous souhaitez configurer les serveurs distants suivants :
web1 à 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 oliviaSi vous enregistrez et fermez le fichier à ce stade, vous pourriez vous connecter en SSH à 192.168.1.100 avec la commande :
ssh web12. Configurez plus d'entrées
Allons-y et configurons les deux prochaines entrées, qui dessineront comme 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 2222Enregistrez et fermez le fichier. Vous pouvez maintenant vous connecter en shell sécurisé à ces machines avec les commandes :
ssh web1
ssh db1
ssh docker1Vous pouvez utiliser n'importe quel surnom dont vous avez besoin pour chaque hôte, il suffit de les rendre mémorables afin de ne pas oublier quelle machine vous essayez d'atteindre et de ne pas avoir à consulter constamment le fichier de configuration pour rafraîchir votre mémoire.
3. Configurer un nom d'utilisateur spécifique
Disons cependant que vous utilisez le même nom d'utilisateur sur tous vos serveurs distants, mais que vous utilisez un nom d'utilisateur différent sur votre machine locale. Par exemple, le nom d'utilisateur de votre machine locale pourrait être jack mais vous avez créé l'utilisateur admin sur tous vos serveurs distants. Vous pourriez 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 adminLa configuration ci-dessus serait placée en haut de votre fichier de configuration.
4. Configurer des entrées individuelles pour l'authentification par clé SSH
Vous pourriez alors configurer chaque serveur individuellement selon vos besoins, en omettant 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 pourriez configurer des entrées comme ceci :
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 yesParce que nous avons appliqué l'administration utilisateur à l'ensemble des machines sur le schéma d'adresses 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 au besoin.
Le fichier de configuration SSH permet plusieurs autres options (toutes peuvent être consultées dans la documentation officielle de configuration SSH), mais ces exemples présentés ci-dessus devraient être tout ce dont vous avez besoin pour commencer avec le fichier de configuration SSH.
Et c'est tout ce qu'il y a à savoir pour utiliser le fichier de configuration SSH afin de faciliter encore davantage votre accès à distance avec Secure Shell.

