Utilisation du fichier de configuration SSH pour se simplifier la vie

Ce n’est pas la première fois que je vous parle de SSH et si vous comptez vous lancer dans le domaine de l’administration système et le web en général en étant le plus « autonome » possible, c’est vraiment un outil indispensable. C’est en tout cas ce que je prône dans ce domaine. Pour moi, il faut savoir utiliser les protocoles indispensables et Linux un minimum. Même si ensuite, on utilise des services qui fournissent une bonne couche d’abstraction, maîtriser ces outils me paraît être un minimum. Ce n’est que mon avis et maintenant de nombreux services permettent de passer outre sans avoir besoin d’apprendre cette partie. Le problème, c’est que l’on devient vite dépendant de ce service et s’il change les règles du jeu, vous devez suivre car vous êtes enfermés. Linux et ses outils, c’est la vie et c’est cool à utiliser. Si vous maîtrisez Linux et SSH, vous êtes « plus libres ». Ça reste bien sur un avis personnel.

Comme vous le savez sûrement, SSH vous permet de vous connecter de manière sécurisée sur un serveur distant qui sera vraisemblablement sous Linux dans la plupart des cas. Je ne dirais pas que maîtriser SSH est indispensable, mais comme je vous l’indique au-dessus, si vous commencez à administrer des sites web en dur cela devient intéressant de le maîtriser au moins sur les bases. Même sur l’aspect professionnel et pour carrière, ce n’est pas du temps perdu ! Ici, je pense que je m’adresse surtout à ceux qui débutent dans l’administration de serveur. J’espère que je vais vous aider à gagner un peu de temps et vous expliquer des choses utiles.

Ainsi, il y a quelque temps, j’avais fait un article sur comment se connecter à un serveur en indiquant quelle clé SSH utiliser avec le paramètre -i. C’est surtout utile si vous avez notamment plusieurs sur votre poste local. Cependant, ce n’est pas la technique la plus élégante et elle ne sera utile que dans certains cas particuliers. Sinon, lorsque vous voulez, vous vous connectez à l’un de vos serveurs distants, il y a peu de chances que votre clé SSH change sauf en cas de faille de sécurité ou compromission. Autant la renseigner une bonne fois pour toutes pour vous connecter plus facilement à votre serveur dédié ou VPS distants. Je précise que ce tutoriel est valable pour MacOS et la plupart des distributions Linux. Malheureusement, je n’utilise plus Windows depuis longtemps de manière professionnelle pour ce genre de choses et l’arborescence des fichiers est différente. Donc je vous laisse chercher pour obtenir la même chose sous Windows.

Comment modifier le fichier de configuration SSH

Passons maintenant au vif du sujet qui nous intéresse ici. L’idée, c’est de se simplifier fortement la vie et de faire des raccourcis pour se connecter à votre serveur Linux.

Plutôt que d’écrire cette commande :

ssh zonetuto@1.2.3.4

Ou encore celle-ci, en précisant la clé comme dans mon ancien tutoriel :

ssh -i ~/.ssh/masupercle zonetuto@1.2.3.4

On peut faire encore plus simple pour se connecter à notre serveur, en tapant simplement ceci  :

ssh zonetuto

Si comme moi, vous avez un grand nombre de serveurs, vous voyez tout de suite l’intérêt. Il suffit simplement de bien les nommer dans le fichier de configuration de SSH et cela permet de gagner beaucoup de temps.

Pour ce faire que ce soit sur macOS ou sur votre distribution Linux préférée, nous allons aller modifier le fichier ~/.ssh/config. Dans ce fichier, nous allons ajouter les informations suivantes  : 

Host zonetuto
    HostName 1.2.3.4
    User toto
    IdentityFile ~/.ssh/masupercle

Pour vous expliquer ce que veulent dire ces lignes, c’est très simple. Le Host, c’est le nom que vous allez taper après votre commande SSH pour vous connecter à votre serveur distant donc choisissez le bien pour vous y retrouver facilement et vous êtes libres de mettre ce que vous voulez. Hostname, c’est tout simplement l’adresse IP de votre serveur. Ici, il s’agit bien entendu ici d’une adresse IP factice pour l’exemple. Ensuite, vous pouvez renseigner votre nom d’utilisateur pour vous connecter au serveur après User. Enfin, IdentityFile vous permet de préciser le chemin vers la clé SSH qu’il faudra utiliser pour se connecter. C’est pratique si comme moi, vous avez plusieurs clés SSH selon vos besoins et le niveau de sécurité pour bien segmenter et ne pas utiliser la même clé SSH partout.

Vous pouvez aussi ajouter des commentaires avec le signe dièse # partout ou vous le voulez et mettre le texte de votre choix derrière. Si votre fichier de configuration de SSH commence à être long, c’est intéressant de pouvoir y enseigner quelques informations supplémentaires pour s’y retrouver lors de la prochaine édition.

Ce n’est pas tout. Vous pouvez aussi renseigner le port, car si vous travaillez sur différents serveurs qui ne vous appartiennent pas ou qui vous appartiennent, d’ailleurs, parfois l’administrateur du serveur renseignera, un port autre que celui qui est utilisé par SSH par défaut, le port 22. Cela vous permet d’éviter de le préciser dans votre commande pour vous connecter à votre serveur.

Pour renseigner un port dans votre fichier de configuration SSH si suffit d’ajouter :

Host zonetuto
    HostName 1.2.3.4
    User toto
    IdentityFile ~/.ssh/masupercle
    Port 2048

Normalement, vous pouvez maintenant lancer la commande suivante dans votre terminal et si vous avez un mot de passe dessus, il vous sera demandé :

ssh zonetuto

Pour conclure, cet article, et ce n’est pas ce que je vous conseille, vous pouvez aussi modifier ce fichier si vous souhaitez vous connecter à un serveur sans clé SSH. C’est-à-dire juste avec un nom d’utilisateur et un mot de passe. Pour le faire, il suffira simplement de renseigner dans le fichier ~/.ssh/config les informations suivantes :

Host zonetuto
    HostName 1.2.3.4
    User toto
    Port 2048

Votre mot de passe, vous sera là aussi bien évidemment demandé pour finaliser la connexion à votre serveur. J’espère que ce ce petit tutoriel vous sera utile et une fois tout ceci configuré normalement vous ne devriez pas avoir besoin d’y retoucher souvent l’avantage. C’est que vous allez gagner beaucoup de temps et le temps, vous savez ce que ça veut dire …

Laisser un commentaire