GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So konfigurieren Sie die X11-Weiterleitung mit SSH unter Linux

Heute lernen wir ein weniger bekanntes, interessantes und nützliches Feature über Linux kennen. Ich bin sicher, die meisten von Ihnen kennen SSH. Wir können über SSH sicher auf entfernte Linux-Systeme zugreifen. Aber wussten Sie, dass es möglich ist, X über SSH weiterzuleiten, um grafische Anwendungen remote auszuführen? Ja! Dieser Mechanismus wird als X11-Weiterleitung bezeichnet . In dieser Anleitung werden wir die X11-Weiterleitung mit SSH unter Linux konfigurieren.

Was ist X11-Weiterleitung?

Die X11-Weiterleitung ist eine Methode, mit der ein Benutzer eine grafische Anwendung starten kann, die auf einem entfernten Linux-System installiert ist, und diese Anwendungsfenster (Bildschirm) an das lokale System weiterleitet. Das entfernte System muss nicht über einen X-Server oder eine grafische Desktop-Umgebung verfügen. Daher ermöglicht die Konfiguration der X11-Weiterleitung mit SSH den Benutzern, grafische Anwendungen sicher über eine SSH-Sitzung auszuführen.

Um es für Laien auszudrücken,

  • Wir verbinden uns über SSH mit einem entfernten System
  • Und dann starten wir eine GUI-Anwendung (die auf dem Remote-System installiert ist) von dieser SSH-Sitzung,
  • Jetzt läuft die GUI-Anwendung auf dem Remote-System, aber das Anwendungsfenster erscheint auf unserem lokalen System. Daher können wir dieses Remote-GUI-Programm auf Ihrem lokalen System so verwenden, wie wir ein lokal installiertes Programm verwenden.

Klar? Lassen Sie uns nun fortfahren und sehen, wie Remote-GUI-Anwendungen über eine SSH-Sitzung ausgeführt werden.

X11-Weiterleitung mit SSH unter Linux konfigurieren

Für die Zwecke dieses Leitfadens werde ich die folgenden zwei Systeme verwenden:

  • Remote-Server - CentOS 8-Minimalserver (keine GUI).
  • Lokales System – Ubuntu 20.04 LTS mit Gnome DE.

Das Konfigurieren der X11-Weiterleitung ist trivial.

Stellen Sie sicher, dass Sie "xauth" installiert haben auf Ihrem Remote-Serer-System. Wenn es nicht installiert ist, führen Sie den folgenden Befehl als Root- oder Sudo-Benutzer aus:

# dnf install xorg-x11-xauth

Gehen Sie zu Ihrem Remote-System (in meinem Fall ist es CentOS 8) und bearbeiten Sie "/etc/ssh/ssh_config" Datei mit Ihrem bevorzugten Editor:

# nano /etc/ssh/ssh_config

Folgende Zeile hinzufügen/ändern:

[...]
X11Forwarding yes

X11-Weiterleitung mit SSH unter Linux konfigurieren

Drücken Sie Strg+O zum Speichern und Strg+X um die Datei zu schließen. Starten Sie den sshd-Dienst neu, um die Änderungen zu übernehmen:

# systemctl restart sshd

Erledigt! Wir haben die X11-Weiterleitung konfiguriert.

Gehen Sie nun zu Ihrem Client-System (in meinem Fall ist es Ubuntu 20.04) und greifen Sie mit dem Befehl:

über SSH auf den Remote-Server zu
$ ssh -X [email protected]

Hier, -X Option wird verwendet, um die X11-Weiterleitung über SSH zu aktivieren. Ersetzen Sie „[email protected]“ durch den Nutzernamen und die IP-Adresse Ihres Remote-Servers.

Beim ersten Mal sehen Sie die folgende Warnmeldung.

/usr/bin/xauth: file /root/.Xauthority does not exist

Allerdings ist die .Xauthority Datei sollte automatisch während der ersten Anmeldung generiert werden, daher sollten nachfolgende Anmeldungen in Ordnung sein.

Starten Sie als Nächstes alle GUI-Anwendungen aus dieser SSH-Sitzung. Ich habe den grafischen Texteditor Gedit bereits auf meinem CentOS 8-Server installiert, also werde ich ihn mit dem Befehl starten:

# gedit

Der gedit-GUI-Fensterbildschirm erscheint nun in Ihrem lokalen System.

Führen Sie entfernte grafische Anwendungen über eine SSH-Sitzung in Linux aus

Sie können mit der auf dem Remote-Server installierten Gedit-Anwendung über die Anzeige, Maus und Tastatur Ihres lokalen Systems interagieren.

Obwohl mein CentOS 8-Server keinen GUI-Desktop hat, kann ich den grafischen Gedit-Editor öffnen und ihn von meinem lokalen Ubuntu-System aus verwenden. Hier ist die visuelle Demo:

X11-Weiterleitung in Putty konfigurieren

Wenn Sie Putty verwenden Client für den Zugriff auf entfernte Systeme geben Sie die IP oder den Hostnamen Ihres entfernten Systems auf der Registerkarte Sitzung ein:

Verbinden Sie sich mit Putty mit dem entfernten System

Navigieren Sie als Nächstes zu Verbindung -> SSH -> X11 und aktivieren Sie die X11-Weiterleitungsoption. Klicken Sie auf Öffnen, um eine neue Putty-Sitzung einzurichten:

Konfigurieren Sie die X11-Weiterleitung in Putty

Geben Sie den Benutzernamen und das Passwort des Remote-Servers ein. Sobald Sie sich über Putty mit dem Remote-System verbunden haben, starten Sie eine beliebige X-Anwendung, die auf dem Remote-Server installiert ist.

Führen Sie grafische Anwendungen über die Putty-Sitzung aus

Beginnen Sie von Ihrem lokalen System aus mit der Remote-GUI-Anwendung zu interagieren!


Linux
  1. So konfigurieren Sie benutzerdefinierte SSH-Verbindungen, um den Remotezugriff zu vereinfachen

  2. So konfigurieren Sie die SSH-Schlüssel-basierte Authentifizierung in Linux

  3. So aktivieren Sie die IP-Weiterleitung unter Linux

  4. Wie konfiguriere ich Schriftarten auf einer Remote-X-Verbindung (xdmcp vs. Ssh)?

  5. So verbinden Sie einen Remote-Host mit dem ssh-Befehl

So richten Sie die dynamische SSH-Portweiterleitung unter Linux ein

So führen Sie eine Remote-Linux-Sicherung mit SSH durch

So mounten Sie ein Remote-Linux-Dateisystem mit SSHFS

Verwenden der SSH-Portweiterleitung als Sicherheitstool unter Linux

So erstellen Sie eine Remote-VM mit dem generischen Docker-Machine-SSH-Treiber

So installieren, konfigurieren und aktivieren Sie den SSH-Dienst unter Linux