GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer le transfert X11 à l'aide de SSH sous Linux

Aujourd'hui, nous allons apprendre une fonctionnalité moins connue, intéressante et utile sur Linux. Je suis sûr que la plupart d'entre vous connaissent SSH. Nous pouvons accéder aux systèmes Linux distants en toute sécurité 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 à l'aide de SSH sous Linux.

Qu'est-ce que le transfert X11 ?

Le transfert X11 est une méthode permettant à un utilisateur de démarrer une application graphique installée sur un système Linux distant et de transférer cette fenêtre d'application (écran) vers le système local. Le système distant n'a pas besoin d'avoir un serveur X ou un environnement de bureau graphique. Par conséquent, la configuration du transfert X11 à l'aide de SSH permet aux utilisateurs d'exécuter en toute sécurité des applications graphiques sur une session SSH.

Pour le dire en termes simples,

  • Nous nous connectons à un système distant via SSH,
  • Et puis nous lançons une application graphique (qui est installée dans le système distant) à partir de 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. Nous pouvons donc utiliser ce programme d'interface graphique distant sur votre système local comme nous utilisons un programme installé localement.

Dégager? Voyons maintenant comment exécuter des applications GUI distantes sur une session SSH.

Configurer le transfert X11 à l'aide de SSH sous Linux

Pour les besoins de ce guide, j'utiliserai les deux systèmes suivants :

  • Serveur distant :serveur minimal CentOS 8 (sans interface graphique).
  • Système local - Ubuntu 20.04 LTS avec Gnome DE.

Configurer le transfert X11 est trivial.

Assurez-vous d'avoir installé "xauth" sur votre système de sereur distant. S'il n'est pas installé, exécutez la commande suivante en tant qu'utilisateur root ou sudo :

# dnf install xorg-x11-xauth

Accédez à votre système distant (dans mon cas, il s'agit de CentOS 8) et modifiez "/etc/ssh/ssh_config" fichier à l'aide de votre éditeur préféré :

# nano /etc/ssh/ssh_config

Ajouter/modifier la ligne suivante :

[...]
X11Forwarding yes

Configurer le transfert X11 à l'aide de SSH sous Linux

Appuyez sur Ctrl+O pour enregistrer et Ctrl+X pour fermer le fichier. Redémarrez le service sshd pour appliquer les modifications :

# systemctl restart sshd

Fait! Nous avons configuré le transfert X11.

Allez maintenant sur votre système client (dans mon cas, c'est Ubuntu 20.04) et accédez au serveur distant via SSH en utilisant la commande :

$ ssh -X [email protected]

Ici, -X L'option est utilisée pour activer le transfert X11 via SSH. Remplacez "[email protected]" 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 exist

Cependant, le .Xauthority Le fichier doit être généré automatiquement lors de la première connexion, donc les connexions suivantes devraient être correctes.

Ensuite, lancez toutes les applications GUI à partir de cette session SSH. J'ai déjà installé l'éditeur de texte graphique Gedit sur mon serveur CentOS 8, je vais donc le lancer à l'aide de la commande :

# gedit

L'écran de la fenêtre de l'interface graphique gedit apparaîtra maintenant dans votre système local.

Exécutez des applications graphiques à distance via une session SSH sous Linux

Vous pouvez interagir avec l'application Gedit installée sur le serveur distant à l'aide de l'écran, de la souris et du clavier de votre système local.

Même si mon serveur CentOS 8 n'a pas de bureau graphique, je peux ouvrir l'éditeur graphique Gedit et l'utiliser à partir de mon système Ubuntu local. Voici la démo visuelle :

Configurer le transfert X11 dans Putty

Si vous utilisez Mastic client pour accéder aux systèmes distants, saisissez l'adresse IP ou le nom d'hôte de votre système distant dans l'onglet Session :

Connectez-vous au système distant à l'aide de Putty

Ensuite, accédez à Connexion -> SSH -> X11 et activez l'option de transfert X11. Cliquez sur Ouvrir pour établir une nouvelle session Putty :

Configurer le transfert X11 dans Putty

Saisissez le nom d'utilisateur et le mot de passe du serveur distant. Une fois connecté au système distant via Putty, lancez toute application X installée sur le serveur distant.

Exécutez des applications graphiques sur une session Putty

Commencez à interagir avec l'application GUI distante depuis votre système local !


Linux
  1. Comment configurer les clés SSH à l'aide de cPanel

  2. Comment activer le transfert IP sur Linux

  3. Comment configurer les polices sur une connexion X distante (xdmcp Vs. Ssh) ?

  4. Comment connecter un hôte distant à l'aide de la commande ssh

  5. Comment savoir si une machine distante utilise Windows ou Linux ?

Comment configurer le transfert de port dynamique SSH sous Linux

Comment effectuer une sauvegarde Linux à distance à l'aide de SSH

Comment monter un système de fichiers Linux distant à l'aide de SSHFS

Utilisation du transfert de port SSH comme outil de sécurité sous Linux

Comment créer une machine virtuelle distante à l'aide du pilote SSH générique docker-machine

Comment installer, configurer et activer le service SSH sous Linux