Cette partie sur l'accès à distance en SSH avec PuTTY ne sert qu'à vous montrer les possibilités d'utilisation de la console. N'essayez pas de faire ça pour le moment car il y a des détails un peu compliqués.
En clair : lisez ce que j'ai à vous dire ; c'est pour votre culture, pour que vous sachiez que ça existe. On verra SSH en pratique un peu plus tard dans le livre.
Une des grosses forces de la console, c'est d'être accessible à distance par Internet. Il suffit que votre machine soit connectée au réseau pour que vous puissiez vous logger de n'importe quel ordinateur dans le monde et faire comme si vous étiez chez vous !
Ça peut être pratique pour une foule de choses, comme surveiller l'état d'un téléchargement un peu long, lancer l'exécution d'un programme pour qu'il soit prêt lorsque vous serez rentrés chez vous… mais surtout, c'est comme ça que l'on administre un serveur sous Linux.
Un serveur est – pour faire simple – un ordinateur tout le temps connecté à Internet. Il permet d'offrir des services divers et variés aux internautes. Par exemple, il y a des serveurs web dont le rôle est de… distribuer des pages web.
La grande majorité des serveurs tourne sous Linux. Lorsque vous allez sur un site, il y a de très fortes chances pour que ce soit un serveur Linux qui vous réponde. Les serveurs Windows existent aussi, mais ils sont plus rares et on apprécie en général la stabilité de Linux ainsi que la possibilité de l'administrer à distance en ligne de commande.
On aura l'occasion de reparler de serveurs Linux plus tard (c'est un vaste sujet), mais je souhaite déjà vous montrer rapidement comment on fait pour se connecter à distance.
Telnet et SSH
Pour communiquer entre votre ordinateur et le serveur, il faut un
protocole. C'est un ensemble de règles pour que deux ordinateurs puissent discuter entre eux… un peu comme si deux personnes devaient parler la même langue pour avoir une conversation.
Il existe des tonnes et des tonnes de protocoles pour communiquer par Internet, mais pour ce qui est d'accéder à la ligne de commande à distance, c'est-à-dire à la console, il y en a deux principaux.
- Telnet : le protocole le plus basique, qui présente le gros défaut de ne pas crypter les données échangées entre vous et le serveur. Si un pirate « écoute » vos échanges par un moyen ou un autre, il pourrait récupérer des informations sensibles, en particulier votre mot de passe lorsque vous l'envoyez à la connexion. Ce moyen de connexion reste utilisé mais peu par rapport à SSH.
- SSH : c'est de très loin le protocole le plus utilisé (et que l'on préfère) car il permet de crypter les données et de sécuriser ainsi la connexion avec le serveur.
Vous l'aurez compris, vous entendrez donc davantage parler de SSH que d'autre chose.
PuTTY
Pour accéder à distance à un ordinateur sous Linux connecté à Internet, vous avez besoin d'un programme spécial capable de restituer la ligne de commande à distance. Ce qui est bien, c'est que vous n'avez pas forcément besoin d'être sous Linux pour vous connecter à un autre ordinateur utilisant cet OS ; on peut très bien le faire depuis Windows, et c'est d'ailleurs la procédure que je vais vous montrer ici.
Il existe plusieurs programmes capables de se connecter en SSH à un serveur Linux. Le plus célèbre sous Windows est sûrement PuTTY : il est gratuit, léger et ne nécessite même pas d'installation (juste un exécutable à lancer).
Pour le télécharger, allez sur
le site web du logiciel. Rendez-vous sur la page « Download » et cliquez sur « putty.exe ».
Lorsque vous le lancez, la fenêtre de configuration s'affiche (figure suivante).
Il y a beaucoup de pages d'options, comme le montre la section à gauche de la fenêtre. Dans la majeure partie des cas, vous n'aurez pas besoin d'y aller, heureusement.
Seule la première page est en fait vraiment importante : vous devez indiquer en haut dans le champ
Host Name le nom d'hôte du serveur (dans mon cas
bart.siteduzero.com) ou encore l'adresse IP de l'ordinateur, ce qui marche aussi bien (c'est juste plus difficile à retenir). Vérifiez que le type de connexion sélectionné en dessous est bien
SSH, puis cliquez sur le bouton
Open tout en bas.
Si vous avez l'habitude de vous connecter à plusieurs serveurs différents, sachez qu'il est possible de sauvegarder les IP et configurations pour se connecter à chacun d'eux. Utilisez la section « Saved sessions » au centre pour enregistrer ou ouvrir des connexions pré-enregistrées.
Après avoir cliqué sur
Open, une fenêtre vous demandera lors de la première connexion au serveur si vous voulez stocker l'empreinte de ce dernier. C'est une sécurité pour vérifier que le serveur n'a pas changé depuis la dernière connexion et donc pour éviter que quelqu'un se fasse passer pour le serveur auquel vous avez l'habitude de vous connecter (le monde des pirates est sans pitié !).
Par la suite, on ne vous embêtera normalement plus jamais avec cette fenêtre.
La fenêtre principale de PuTTY s'affiche alors (figure suivante).
Voilà, vous n'avez plus qu'à vous connecter.
Indiquez votre login (par exemple
mateo21), puis tapez
Entrée.
On vous demande ensuite votre mot de passe ; tapez-le puis faites
Entrée.
Encore une fois, il est normal de ne pas voir d'étoiles lorsque vous tapez votre mot de passe. C'est une sécurité supplémentaire pour éviter que quelqu'un derrière vous ne compte le nombre de caractères.
Soyez donc rassurés, le serveur reçoit bien votre mot de passe. Tapez-le comme si de rien n'était.
Si le login et le mot de passe sont bons, vous avez accès à la console du serveur sous Linux comme si vous étiez devant (figure suivante) !
Ne soyez pas surpris par tous les caractères que vous voyez sur ma capture d'écran. On a juste personnalisé le message de bienvenue du serveur « Bart » du Site du Zéro pour qu'il affiche la tête de Bart en lettres à la connexion. ;-)
Changer le message de bienvenue se fait facilement mais n'est en général pas très utile.
Dans l'immédiat, vous ne devriez pas avoir à vous connecter à votre ordinateur à distance en utilisant SSH. Tout ce qu'on va faire sera plutôt effectué en local, c'est-à-dire directement sur votre machine. On utilisera la méthode décrite plus haut, à savoir la console en mode graphique.
Au moins, vous savez désormais qu'il est aussi possible de communiquer à distance. Nous reparlerons plus en détails du protocole SSH plus loin dans ce livre, lorsque nous nous intéresserons à l'administration de serveurs.