Comment configurer le transfert X11 en utilisant SSH sous Linux
Aujourd'hui, nous allons apprendre une fonctionnalité moins connue, intéressante et utile de Linux. Je suis sûr que la plupart d'entre vous connaissent SSH. Nous pouvons accéder aux systèmes Linux distants de manière sécurisée via SSH. Mais, saviez-vous qu'il est possible de transférer X via SSH pour exécuter des applications graphiques à distance ? Oui ! Ce mécanisme est connu sous le nom de transfert X11. Dans ce guide, nous allons configurer le transfert X11 en utilisant SSH sur Linux.
Qu'est-ce que le transfert X11 ?
Le transfert X11 est une méthode permettant à un utilisateur de lancer des applications graphiques installées sur un système Linux distant et de transférer les fenêtres de cette application (écran) vers le système local. Le système distant n'a pas besoin d'avoir un serveur X ni un environnement de bureau graphique. Par conséquent, configurer le transfert X11 en utilisant SSH permet aux utilisateurs d'exécuter en toute sécurité des applications graphiques via une session SSH.
Pour le dire en termes simples,
- Nous nous connectons à un système distant via SSH,
- Et ensuite, nous lançons une application GUI (qui est installée sur le système distant) depuis cette session SSH,
- Maintenant, l'application GUI s'exécute sur le système distant, mais la fenêtre de l'application apparaît sur notre système local. Ainsi, nous pouvons utiliser ce programme GUI à distance sur votre système local de la même manière que nous utilisons un programme installé localement.
Clair ? Maintenant, allons-y et voyons comment exécuter des applications GUI à distance via une session SSH.
Configurer le transfert X11 en utilisant SSH sous Linux
Aux fins de ce guide, j'utiliserai les deux systèmes suivants :
- Serveur distant - Serveur CentOS 8 minimal (Sans interface graphique).
- Système local - Ubuntu 20.04 LTS avec environnement de bureau Gnome.
Configurer le transfert X11 est trivial.
Assurez-vous d'avoir installé "xauth" sur votre système serveur distant. S'il n'est pas installé, exécutez la commande suivante en tant que root ou utilisateur sudo :
# dnf install xorg-x11-xauthAllez sur votre système distant (dans mon cas, il s'agit de CentOS 8) et éditez le fichier "/etc/ssh/ssh_config" en utilisant votre éditeur préféré :
# nano /etc/ssh/ssh_configAjouter/modifier la ligne suivante :
[...]
X11Forwarding yesAppuyez sur Ctrl+O pour enregistrer et Ctrl+X pour fermer le fichier. Redémarrez le service sshd pour appliquer les modifications :
# systemctl restart sshdFait ! Nous avons configuré le transfert X11.
Allez maintenant sur votre système client (dans mon cas, il s'agit d'Ubuntu 20.04) et accédez au serveur distant via SSH en utilisant la commande :
$ ssh -X root@192.168.225.52Ici, l'option -X est utilisée pour activer le transfert X11 via SSH. Remplacez "root@192.168.225.52" par le nom d'utilisateur et l'adresse IP de votre serveur distant.
Vous verrez le message d'avertissement suivant la première fois.
/usr/bin/xauth: file /root/.Xauthority does not existCependant, le fichier .Xauthority devrait être généré automatiquement lors de la première connexion, donc les connexions suivantes devraient se passer sans problème.
Ensuite, lancez toutes les applications GUI depuis cette session SSH. J'ai déjà installé l'éditeur de texte graphique Gedit sur mon serveur CentOS 8, donc je vais le lancer en utilisant la commande :
# geditLa fenêtre GUI de gedit apparaîtra maintenant sur votre système local.
Vous pouvez interagir avec l'application Gedit installée sur le serveur distant en utilisant l'affichage, la souris et le clavier de votre système local.
Même si mon serveur CentOS 8 n'a pas d'interface graphique, je peux ouvrir l'éditeur graphique Gedit et l'utiliser depuis mon système Ubuntu local. Voici la démonstration visuelle :
Configurer le transfert X11 dans Putty
Si vous utilisez le client Putty pour accéder à des systèmes distants, saisissez l'adresse IP ou le nom d'hôte de votre système distant dans l'onglet Session :
Ensuite, accédez à Connection -> SSH -> X11 et activez l'option de transfert X11. Cliquez sur Ouvrir pour établir une nouvelle session Putty :
Entrez le nom d'utilisateur et le mot de passe du serveur distant. Une fois que vous êtes connecté au système distant via Putty, lancez toute application X installée sur le serveur distant.
Commencez à interagir avec l'application GUI distante depuis votre système local !




