Grafische Verwaltung von Servern – Möglichkeiten und Einrichtung

(Last Updated On: 31. Juli 2015)

Während sich für die textgesteuerte Fernwartung von Unix/Linux-Systemen SSH und bei Windows-Systemen neben SSH noch Powershell Remoting durchgesetzt hat, gibt es hin und wieder immer mal wieder die nowtendigkeit, einen entfernten Rechner grafisch zu warten, da bestimmte Tools zwingend auf das Laden einer grafischen oberfläche angewiesen sind.

In diesem Post zeige ich Ihnen sowohl für Unix/Linux- als auch für Windows-Server diverse möglichkeiten auf, wie Sie die jeweiligen Server entfernt grafisch administrieren können.

Unix / Linux Systeme

Im folgenden schildere ich drei Methoden, die sich besonders dafür eignen, wenn Sie auf Ihrem Linux-Server nur eine minimale Grafikumgebung installieren wollen. Die methoden X-Windows-server Xorg, XRDP und XVNC eignen sich also perfekt für Serversysteme, auf denen nicht von Haus aus eine Desktopumgebung wie beispielsweise KDE, Gnome, Ubuntu-Desktop o. Ä. läuft, die also stadnardmäßig nur über Textkonsole administrierbar sind.

Die beiden letzten Methoden – VNC und TEamViewer, empfehlen sich für Desktop-Systeme, auf denen bereits Desktopumgebungen wie Gnome, KDE o. Ä. installiert sind.

X-Window-Server Xorg

Mit dem X-Window-Server können Sie bestimmte grafische Anwendungen gezielt in einer grafischen Oberfläche starten. Damit können Sie grafische Anwendungen auch auf Servern ausführen, auf denen keine grafische Oberfläche installiert ist, wie beispielsweise KDE oder Gnome Desktop, diese werden nicht benötigt.

Damit X-Window funktioniert, müssen Sie einen SSH-Server aufsetzen. Dessen Konfigurationsdatei bearbeiten Sie dann unter /etc/ssh/sshd_config. Dort legen Sie folgende einstellungen fest

11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

dann den SSHd neu starten über

rcsshd reload
#oder
service ssh restart
#oder
/etc/init.d/ssh restart

Nach dieser Anpassung installieren wir der X-Server selbst

zypper in xorg-x11-server #OpenSuse
#oder
apt-get install xorg
apt-get install openbox

Nach der Installation der rund 45 Pakete erzeugen wir uns erstmal über die xorg-binary eine config-datei für unseren Server

Xorg -configure

nun wurden mehre zusammengehörende config-dateien in /etc/X11/xorg.conf.d erzeugt.

Jetzt müsst ihr euch neu auf den SSH-Server verbinden. Euer SSH-Client musst dabei so konfiguriert sein, dass er X11-Verkehr durchleitet. Wenn irh von einem Windows-Desktop auf das unix/Linux-System zugreift, benutzt ihr wahrscheinlich den SSH-Client putty. Die notwendige Einstellung zum Durchlassen von X11-Verkehr findet ihr in den Optionen unter Connection / SSH / X11. Aktiviert dort den Haken bei Enabel X11 forwarding. #

2015-06-15_14h29_13

Wenn ihr von einem Linux-System aus auf den Server zugreift, benutzt ihr wahrscheinlich das kommandozeilentool ssh. Dort müsst ihr einfach mti dem Scahlter -X auf den Server connecten, also bspw.

ssh -X root@<FQDN>:<Port>

Nun braucht ihr noch auf dem client einen lokalen X-Window-Server, der die Fenster für euch darstellt. WEnn ihr euch von einem Windows-Rechner per putty auf das unix/Linux-System verbindet, installiert ihr euch Xming. Installiert das Tool und startet danach nicht Xming selber, sondern das Tool Xlaunch, welches mit Xming mit installiert wird. Die Dispaly Settings von Xlaunch könnt ihr einfach mit Weiter / Weiter /  Weiter / fertig stellen durchklicken

2015-06-15_14h41_03

2015-06-15_14h41_24

2015-06-15_14h41_39

2015-06-15_14h41_55

Exkurs: Bildschirm wird nicht weitergeleitet beim User Switch über su

Eventuell passiert es Ihnen, dass der Bildschirm an das XMing-Fenster zwar mit beispielsweise dem User root weitergeleitet wird, wenn Sie jedcoh mti dem Befehl su den User switchen, beispielsweise zum Nutzer ora<dbsid>, wenn Sie eine Oracle-Datenbank eines SAP-System verwalten wollen, geht es jedoch nicht.

Als erstes müssen Sie sicherstellen, dass das XMing-Fenster beim Nutzer, mti dem sie sich ursprünglich angemeldet haben, funktioniert. dazu testen Sie die funktionalität mit xeyes oder xclock. Wenn die Tools als grafische Ausgabe erscheinen, haben Sie die Hälfte schon geschafft. Nun führen Sie als dieser Nutzer den Befehl

xauth list

aus. sie erhalten Ausgaben im Format

<hostname>/unix:14  MIT-MAGIC-COOKIE-1  <irgendein key>
...

Sie kopiern sich einen beliebigen dieser Einträge heraus und wechseln den User über

su - <neuer Username>

nun setzen Sie als allererstes für diesen neuen Nutzer die Variable DISPLAy auf den Bildschirm, der zu dem von ihnen kopierten Eintrag gehört. Wenn Sie beispielswiese wie oben beschribeen den Eintrag mit der :14 am Ende kopiert haben, müssen Sie die Display-Variable so setzen

export DISPLAY=localhost:14.0
#bzw
setenv DISPLAY localhost:14.0

Überprüfen mittels

echo $DISPLAY

Wenn die Variable gesetzt ist, müssen Sie jetzt noch den xauth-Eintrag aus dem vorigen User in die xauth-Liste des neuen Users einfügen. Das geht über

xauth add <Zeile aus der Zwischenablage reinkopieren>

Überpreüfen Sie mit xauth list, ob der Eintrag übernommen wurde. ist der Eintrag vorahnden, sollte nun die Bildschirmweiterleitung funktionieren.

XRDP

XRDP funktioniert nur anständig, wenn auf dem Serversystem irgendeine Form von Desktop-Umgebung installiet ist. Beispieslweise funktioniert XRDP für den Zugriff auf den RaspberryPi, da diese eine solche Desktop-Umgebung mitbringt. Installiert man hingegen einen Custom-Server von einem Serverbetriebssystem ohne grafische Oberfläche, geht XRDP standardmäßig nicht. Bzw: XRDP funktioniert, aber man sieht nur das schwarz-weieß Konsolenfenster, welches man mit wesentlich weniger Aufwand auch mittels SSH bekommen würde.

Die installation von xrdp geht ganz einfach

apt-get install xrdp

Wenn noch keine Desktopumgebung auf dem Serversystem installiert ist, dann kann eien miniamle Desktopumgebung installiert werden, beispeilsweise obenbox

apt-get install openbox

nach der Installation kann sofort über das Windows-Tool Remotedesktopverbindung eine Verbindung zum Linux-System hergerstellt werden. Einfach den Hostnamen oder die IP-adresse des systems eingeben und schon wird eine Remote Desktop Sitzung begonnen.

Wenn eine minimale Desktopumgebung wie beispielsweise openbox auf dem System installiert ist, dann bekommt ihr nur ein graues Fenster. Ihr könnt jedoch rechtsklicken und über Terminal Emulator (1) ein Terminal öffnen. In diesem Terminal könnt ihr dann grafische Anwendungen öffnen. In diesem Beispiel öffnen wir das grafische Tool xeyes (2), welches einfach nur dazu da ist, um einen XServer zu testen. Daraufhin wird das graifsche Tool angezeigt (3).

XVNC

Hinweis: Diese Sektion ist noch von einem älteren Post und ist derzeit nur für OpenSuse beschrieben. ich werde diese Sektion vielleicht irgendwann aktualisieren.

Im Rahmen dieses projekts wollen wir noch eine Alternative besprechen. XVNC ist ein X-Server kombiniert mit einem VNC-Server. man connected sich mit einem VNC-Cleint wie beispielsweise ultraVNC auf den Server und stellt dadurch eine Verbindung mit dem VNC-Server her. Dieser nutzt dann die X-Umgebung.

zypper in xorg-x11-xvnc #opensuse
apt-get install x11vnc #debian/ubuntu

Unter OpenSuse müssen Sie ncoh die Remote Administration in Yast aktivieren.

$>yast2

im Yast2 Control Center wählen wir dann durch zu Netowrk Services – remote Administration (VNC)

Wir aktivieren Allow Remote Administration

dann müssen wir dne port 5901 noch in der firewall frei geben

 

die kofnigurationsdatei liegt in der Datei /etc/xinet.d.d/vnc

in den Konfigurationsblöcken können meherere Listening-ports konfiguriert werden. Standardmäßig sind die drei Ports 5901-5903 im Lauschmodus und laushcen auf Verbindungen über einen VNC-Client. Durch unseren Firewall-change wurde jedoch nur der Port 5901 freigeschaltet und kein anderer. Deshalb wiollen wir in den Advanced Options der SuSEfirewall2 oder im Yast2 noch die Ports 5902 und 5903 freigeben.

 

Die Serverbinary liegt unter /usr/bin/Xvnc. Diese wird in der Konfigurationsdatei mit verschiedenen server_ags-Kommandozeilenoptionen aufgerufen.

ein wiedereinlesen von konfigurationsänderungen des XVNc-Servers geht über

rcxinetd reload

JHetzt müspsen wir den VNCServer starten

vncserver

und müssen ein Passwort eingeben, imt dem unsere user auf den Server connecten können

danach geben wir das komamndo erneut ein und es wird ein Screen erstellt.

Soweit so gut. Wir müssen aber noch ein paar einstellungen festlegen. Also killen wir den Screen wieder

vncserver -kill :3

Jetzt bearbeiten wir das xstartup file in unserem .vnc verzeichnis

vi ~/.vnc/xstartup

und kommentieren die foglenden Zeilen aus:

unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

Jetzt starten wir den vncserver neu

vncserver

Jeztt müssen wir einen SSH Tunnel konfigurieren

Dazu öffnen wir wieder putty und stellen nun eine andere Vebrindung ein, da wir nun einen anderen Port tunneln müssen und daher nicht mehr wie bisher auf den SSH-port connecten können.

Dazu wählen wir im Putty in der Linken Spalte tunnels und geben bei Source port 5900 ein und bei destination port geben wir 5900+die nummer des screens ein. in unserem Fall, da wir als Screen die 3 haben, wählen wir 5903.Danach klickne wir auf Add, sodass der tunnel in der Liste der SSH.-tunnel auftaucht. wir können auch noch Tunnel für die Ports 5901 und 5902 hinzufügen. Hier ein beispielscreenshot der putty konfig

 

Jetzt speichern wir uns diese Session unter einem anderen Profil ab als die Session, die wir zum X-Forwarding mittels Xlaunch verwenden, beispielswiese SAPNJ VNC.

nun connecten wir ganz normal auf Port 27001 mit ideser Session und bauen eine SSH-Verbindung auf. Nuzn starten wir den VNC Client auf unserem Desktop, den wir uns gedownloadet haben, und geben als VNC Server einfach localhost ein.

 

Danch werden wir aufgefordert, das Passowrt einzugeben, dass wir zuvor b eim aufurf von vncserver eingeben mussten

 

Jetzt wollen wir mal Yast2 über den VNC Server starten.

wir haben nun ein blaues Fenster. Wir halten die linke maustaste gedrückt, nachdme wir auf die blaue Fläche geklickt haben und wählen „xterm“. es öffnet sich ein kleines konsolenfenster. Dort geben wir nun „yast2“ ein und wir können das Yast2-Fenster in unserer lbauen Fläche platzieren. so einfach gehts. Der vorteil ist: wenn wir einfach nur in unserer SSh-konsole yast2 eingeben, öffnet sich, wenn wir XLaunch installiert haben, autoamtisch ein XLaunch Fenster. Das bedeutet wir können nun frei zwischen VNC-Varainte und X-Launch wählen

VNC

Es gibt aus unix/Linux-Systemen verschiedene VNC-Server, die sie eirnichten können. Wenn Sie einen Ubuntu-Server haben, können Sie sich hier einen VNC-Server aussuchen und dann gemäß anleitung vorgehen.

TeamViewer

Die installation von TeamViewer ist ziemlich einfach. unter Ubuntu können Sie TeamViewer einfach über das Ubuntu Software Center suchen und installieren.

Windows-Systeme

– to be continued –

Remotedesktopverbindung RDP

Remote Desktop ist ein allseits bekanntes Mittel, um Windows-Systeme über ein lokales Netzwerk zu administrieren. Grundsätzlich können Sie das protokoll auch nutzen, um Windows-Systeme über das Internet zu administrieren. Ich persönlich empfehle Ihnen aber, sich erst über ein virtuelles privates Netzwerk (VPN) einzuwählen und dann innerhalb dieses VPN die Remote Desktop Verbindung genau so aufzubauen, als würden Sie das System einfach vom lokalen Netzwerk aus administrieren.

Remote Desktop funktioniert standardmäßig nur auf den Windows-Server- und Windows Professional oder Ultimate Edition-Betriebssystemen. Mit den Home-Editionen müssen Sie sich selbst darum kümmern, die Remote Desktop Funktionalität nachzuliefern.

Wenn Sie trotzdem Ihren PC direkt über das Internet per RDP administrieren wollen, brauchen Sie ein sehr starkes Passwort für den Windows-Account, mit dem dies passieren soll, und Sie müssen den Port 3389 auf die IP-Adresse des Rechners weiterleiten, den Sie administrieren wollen.

VNC

in unserem Beispiel verwenden wir TightVNC. Es gibt diverse andere VNC-Alternativen wie beispielsweise UltraVNC, die Sie ebenfalsl nutzen können. Downloaden Sie TightVNC und klicken den Installer einfach durch.

Wie auch schon beim Remote Desktop Protokoll (RDP) empfehle ich Ihnen grundsätzlich, den VNC-Server nicht direkt über das Internet erreichbar zu machen, sondern sich erst über ein virtuelles virtuelles privates Netzwerk (VPN) einzuwählen und dann zu konnektieren.

Der Vorteil eines VNC-Servers ist, dass Sie mit einem VNC-Server auch Windows-Home-Editionen adminstrieren können, die also keinen Remote Desktop Service vorinstalliert haben.

Nichtsdestotrotz sollten Sie Ihren VNC-Server immer mit einem starken Passwort absichern. Nach der Installation von TightVNC starten Sie das iTightVNC Service – Control Interface und ändern als allererstes im Reiter Serveri den Port ab, den VNC benutzt. Sie sollten dabei einen vollkommen zufälligen Port wählen, beispielsweise 36000. Den Web Access Port sollten Sie ebenfalls entweder abändern oder ganz deaktivieren.

Wenn Sie dennoch den VNC-Server aus dem Internet erreichen wollen, müssen Sie den Port, den Sie soeben als Main Server Port konfiguriert haben, an den zu administrierenden rechner weiterleiten.

Um sich nun von einem anderen Cmoputer aus zu verbinden, installieren Sie einen beliebigen VNC-Client auf diesem REchner. Sie können dazu auch auf diesem Computer einfach wieder tightVNC installieren und dann den TightVNC Viewer starten. Danach geben Sie die Domain oder IP-Adresse des zu administrierenden Rechners ein und verbinden sich. Hinweis: Den port müssen Sie nicht wie gewohnt mit einem Doppelpunkt von der adresse abtrennen, sondern mit zwei Doppelpunkten!

Cygwin-x

Allgemein

Allgemein kann man alle Systeme über KvM over IP verwalten. Diese Möglichkeit der fernwartung funktioniert sogar, wenn das Serverbetriebssystem gerade nicht läuft. KvM over IP ermöglicht somit sogar die Fernsteuerung des systems, wenn es sich im BIOS oder UEFI befindet. Somit können beispielsweise auch Live-Systeme auf dem System gebootet und gesteuert werden.

Es gibt verschiedene Hardwarelösungen, die KvM over IP bereitstellen, etwa PCI Steckkarten oder dedizierte IPKVM-switches. Diese werden an den zu wartenden Server angeschlossen und man kann dann von einem belibeigen client aus per Webbrowser den Server warten.

 

 

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren …

1 Antwort

  1. 22. Juni 2015

    […] den Server grafisch zu administrieren. Einen Überblick über mögliche Lösungen habe ich in diesem Post […]

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.