Aller au contenu

Se connecter à un serveur Linux

Objectif : se connecter localement ou à distance à un serveur Linux.

Pour administrer un serveur Linux, vous devez tout d'abord vous retrouver face à une "invite de commande" (en anglais : command prompt), c'est-à-dire quelque chose qui ressemble vaguement à ceci :

[microlinux@linuxbox ~]$

Si nous nous sommes connectés en tant que root, cette invite se présente un peu différemment :

[root@linuxbox ~]#

Se connecter à un serveur Linux en SSH

Le système SSH (Secure Shell) est un protocole sécurisé de connexion à distance développé par l'équipe d'OpenBSD depuis 1999. Dans le cadre d'une formation en entreprise, il est pratique de pouvoir se connecter d'emblée sur un serveur Linux dans le réseau.

Votre machine virtuelle est une machine distante

À partir du moment où vous avez correctement configuré l'accès par pont comme mode d'accès réseau de votre machine virtuelle dans VirtualBox, votre système virtualisé se comporte comme une machine à part entière de votre réseau. Vous pouvez donc afficher son adresse IP et vous connecter en SSH comme s'il s'agissait d'une "vraie" machine physique distante.

Quelle est l'adresse IP de mon serveur ?

Vous aurez besoin de connaître l'adresse IP de votre serveur Linux pour vous connecter à distance. La commande ip --brief --family inet addr affiche de manière succincte la configuration IPv4 de vos interfaces réseau.

[microlinux@linuxbox ~]$ ip --brief --family inet addr
lo               UNKNOWN        127.0.0.1/8
enp0s3           UP             192.168.2.10/24
  • Ignorez l'interface lo, il s'agit de votre boucle locale.

  • Ici, l'adresse IP de la machine est 192.168.2.10.

Utiliser PuTTY sous Windows

PuTTY est un client SSH libre pour Windows, écrit par Simon Tatham et publié sous licence MIT. Téléchargez-le sur la page du projet, installez-le et lancez-le.

Pour ouvrir une session distante avec PuTTY, je dois lui fournir quelques paramètres de base comme le nom d'hôte ou l'adresse IP, le port et le type de connexion. Voici un exemple dans mon réseau local.

  • Host Name : linuxbox.microlinux.lan

  • IP address : 192.168.2.10 (si la machine n'est pas joignable par nom d'hôte)

  • Port : 22

  • Connection Type : SSH

  • Cliquer sur Open.

  • Lors de la première connexion, faire confiance à l'identité du serveur distant.

Utiliser OpenSSH sous Windows

Depuis la mise à jour de septembre 2017 de Windows 10, Microsoft a enfin intégré un support natif de SSH sur Windows.

Le client OpenSSH n'est peut-être pas activé dans la configuration par défaut. Avant de s'en servir, il faut donc l'activer via les Paramètres Windows > Applications > Gérer les fonctionnalités facultatives > Ajouter une fonctionnalité. Installez OpenSSH Client et redémarrez votre PC.

Depuis l'invite de commandes Windows, utilisez la commande ssh pour vous connecter à votre serveur Linux. Pour me connecter en tant que microlinux sur la machine linuxbox.microlinux.lan, j'utilise la syntaxe suivante :

C:\Users\Microlinux> ssh microlinux@linuxbox.microlinux.lan

Si la machine n'est pas joignable par nom d'hôte, je peux toujours fournir son adresse IP en argument :

C:\Users\Microlinux> ssh microlinux@192.168.2.10

Et si je souhaite me connecter directement en tant que root :

C:\Users\Microlinux> ssh root@linuxbox.microlinux.lan

Utiliser OpenSSH sous macOS

Sous sa couche graphique Aqua, macOS est constitué d'un système de base FreeBSD, un Unix libre datant de 1993. Il n'est donc pas étonnant de constater que le client OpenSSH fait partie des technologies de base de cet OS.

Pour nous connecter au serveur Linux depuis un poste de travail tournant sous macOS, nous lancerons d'abord l'application Terminal dans le sous-dossier Utilitaires du dossier Applications.

Pour me connecter en tant qu'utilisateur microlinux sur le serveur, j'invoque la commande suivante :

$ ssh microlinux@linuxbox.microlinux.lan 

Pour fournir l'adresse IP plutôt que le nom d'hôte, la syntaxe sera la suivante :

$ ssh microlinux@192.168.2.10

Et pour me connecter en tant qu'administrateur root, la commande ressemblera à ceci :

$ ssh root@linuxbox.microlinux.lan

Utiliser OpenSSH sous Linux ou BSD

Tous les postes de travail Linux et BSD courants et moins courants intègrent un émulateur de terminal et un client SSH dans leur configuration de base. Pour vous connecter à votre serveur depuis un poste de travail sous Linux, ouvrez n'importe quel émulateur de terminal comme GNOME Terminal, Konsole, Xfce Terminal, MATE Terminal Emulator, Eterm ou Xterm et invoquez la commande ssh :

$ ssh microlinux@linuxbox.microlinux.lan

Ou :

$ ssh microlinux@192.168.2.10

Ou encore :

$ ssh root@linuxbox.microlinux.lan

Basculer entre les consoles virtuelles

Si vous êtes connecté physiquement au serveur – autrement dit , si vous n'avez pas ouvert une session distante – vous pouvez basculer entre les consoles virtuelles.

La commande tty affiche le nom du terminal associé à l'entrée standard.

[microlinux@linuxbox ~]$ tty
/dev/tty1

Utilisez le raccourci clavier Alt+F2 pour basculer vers la deuxième console virtuelle. Connectez-vous et invoquez la commande tty :

Oracle Linux Server 7.9
Kernel 3.10.0-1160.el7.x86_64 on an x86_64

linuxbox login: microlinux
Password: ********
[microlinux@linuxbox ~]$ tty
/dev/tty2

Dans la configuration par défaut, Oracle Linux dispose de six consoles virtuelles auxquelles vous accédez par le raccourci clavier Alt+F1, Alt+F2 et ainsi de suite jusqu'à Alt+F6.

Basculez vers la troisième console virtuelle (Alt+F3), connectez-vous en tant que root et, là aussi, invoquez tty. Puis revenez vers la première console avec Alt+F1.

Le terme "terminal" est issu de l'ère préhistorique de l'informatique, où les ordinateurs personnels n'existaient pas encore. Pour se connecter à l'un de ces ordinateurs ancestraux, il fallait s'y connecter par le biais d'un terminal, c'est-à-dire un bloc "stupide" – comprenez : sans la moindre puissance de calcul incorporée – composé uniquement d'un clavier et d'un écran, ainsi que d'un câble le reliant à l'ordinateur central.

Quitter la console

Pour fermer la session et revenir à l'invite de connexion, invoquez la commande suivante :

$ logout

Alternativement, vous pouvez également vous déconnecter comme ceci :

$ exit

Enfin, le raccourci clavier Ctrl+D permet de faire la même chose plus rapidement.

Premiers pas en ligne de commande

Commencez par taper n'importe quoi et regardez la réaction de votre système. Par exemple :

[microlinux@linuxbox ~]$ make love
make: *** Aucune règle pour fabriquer la cible « love ». Arrêt.
[microlinux@linuxbox ~]$ 

Vous venez de taper une commande au hasard tout en choisissant bien, et vous vous retrouvez face à votre premier message d'erreur. Mais que s'est-il passé exactement ?

  • L'interpréteur de commandes vous a affiché une invite [microlinux@linuxbox ~]$. Il vous a ainsi signifié qu'il était prêt à recevoir une ou plusieurs commandes.

  • Vous avez tapé une commande : make.

  • Vous avez fait suivre la commande make d'un argument : love.

  • L'interpréteur a essayé en vain d'exécuter ce que vous lui avez demandé de faire et vous a dit plus ou moins clairement ce qu'il en pense, en l'occurrence : make: *** Aucune règle pour fabriquer la cible « love ». Arrêt.

  • L'interpréteur de commandes vous affiche à nouveau l'invite, pour vous indiquer qu'il est prêt à recevoir une ou plusieurs commandes.

À présent, nous n'avons qu'à essayer avec des commandes qui ont un peu plus de sens pour votre machine.


La rédaction de ces cours demande du temps et des quantités significatives de café espresso. Vous appréciez cette formation ? Offrez un café au formateur.