Vorausgesetzt ein Server besitzt überhaupt eine grafische Oberfläche, dann gibt es verschiedene Verfahren um Fernzugriff zu erhalten. Das Methode sollte hohe Performance bieten und auch über eine Internetverbindung gut bedienbar sein. Darüber hinaus sollte das ganze Verfahren am besten durch einen SSH Tunnel verschlüsselt sein. Als Client sollte Linux oder Windows zum Einsatz kommen.
Da X Forwarding übers Internet einfach zu langsam ist und Windows als Client nicht gerade eine Option, war ich schon kurz davor einen VNC Server aufzusetzen. Wird zuvor ein SSH Tunnel geöffnet kann die gesamte Verbindung auch zuverlässig abgesichert werden. Windows als Client ist dank PuTTy auch kein Problem. Sollen jedoch mehrere Benutzer auf dem Server gleichzeitig remote einloggen ist das nicht so einfach. Durch Zufall und Google stieß ich jedoch auf den Free NX Server von www.nomachine.com und war begeistert.
- Die Performance ist extrem hoch (selbst über ein normale Internetverbindung lässt sich sehr gut arbeiten)
- Komplette SSH Verschlüsselung der gesamten Kommunikation
- Ähnlich dem Windows Remote Desktop können Sitzungen unterbrochen und zu einem späteren Zeitpunkt fortgesetzt werden
- Client Software existiert für Linux und Windows
- Mehrere Nutzer können gleichzeitig remote eingeloggt sein
- Kostenlose Server Version (Limitierung auf max. 2 Benutzer)
Das NX Protokoll ist eigentlich nur ein Protokoll zur Komprimierung des X Servers. Es werden also nicht wie bei VNC Bilder erstellt und dann übermittelt. Die Bildqualität ist daher sehr hochwertig. Der Client baut zunächst eine Public-Key basierende SSH Verbindung zum Server auf. Anschließend authentifiziert sich der Benutzer gegenüber dem System. Diese erfolgt direkt wenn Passwort Authentifizierung für SSH gestattet ist oder über eine eigene NX Benutzer Datenbank.
Ich werde im Folgenden die Installation und Konfiguration des Servers unter Ubuntu beschreiben und wie man die Authentifizierung über die NX Benutzer Datenbank einrichtet. Diese hat den Vorteil, dass man für den SSH Server nur das sichere Public-Key-Verfahren zulassen kann.
Installation und Konfiguration Server
- Falls noch nicht geschehen muss der SSH Server installiert werden (siehe SSH Server)
- Im Download Bereich von www.nomachine.com müssen unter „NX Free Edition for Linux“ nacheinander
- NX Client
- NX Node
- NX Server
heruntergeladen und installiert werden. Dies erfolgt mittels
dpkg
und ist im dortigen Download Bereich erklärt. - Als nächstes muss die Datei
/usr/NX/etc/server.cfg
angepasst werden. Hierzu editiert man die beiden folgenden Einträge. - Nun wechseln wir ins Verzeichnis
/usr/NX/bin/
und fügen einen neuen Benutzer hinzu indem wir nacheinander folgende Befehle ausführen. Der Benutzer sollte anschließend in der Liste erscheinen, die mit dem letzten Befehl angezeigt wird. - Als nächstes tauschen wir die bei der Installation mitgelieferten Public-Keys noch gegen einen Neuen aus. Dies ist zwar nicht unbedingt nötig aber sicher ist sicher.
- Die Zugriffsrechte für einige Dateien müssen noch korrekt gesetzt werden.
- Als letztes tauschen wir den alten privaten Schlüssel auf dem Client aus. Der neue Schlüssel findet sich unter
/usr/NX/share/keys/default.id_dsa.key
und muss im Client Installationsverzeichnis untershare/keys/
abgelegt werden.
EnableUserDB = "1" EnablePasswordDB = "1" |
$ sudo ./nxserver --useradd USERNAME $ sudo ./nxserver --userauth USERNAME $ sudo ./nxserver --userenable USERNAME $ sudo ./nxserver --passwd USERNAME $ sudo ./nxserver --userlist |
$ sudo /usr/NX/scripts/setup/nxserver --keygen |
$ sudo chown nx:root /usr/NX/home/nx/.ssh/authorized_keys2 $ sudo chmod 0644 /usr/NX/home/nx/.ssh/authorized_keys2 $ sudo chown nx:root /usr/NX/home/nx/.ssh/default.id_dsa.pub $ sudo chmod 0644 /usr/NX/home/nx/.ssh/default.id_dsa.pub |
Installation und Konfiguration Client
- Im Download Bereich von www.nomachine.com unter „NX Client Prodcuts“ den passenden Client heruntergeladen und installieren.
- Falls der Public-Key geändert wurde (Punkt 5 – Installation Server) muss dieser nun ins Installationsverzeichnis unter
share/keys/
kopiert werden. - Startet man nun den Client muss zunächst ein neues Profil eingerichtet werden. Die Schritte sind selbsterklärend. Es ist jedoch wichtig, dass abschließend in den Einstellungen unter
Configure... --> General --> Key...
der neue Public-Key importiert wird.
Weiterführende Dokumentation und Hilfe
Im Support und Documents Bereich von www.nomachine.com finden sich jede Menge gut beschriebene HowTo Anleitungen für die Installation und Administration.
Es gibt darüber hinaus inzwischen auch eine an Ubuntu angepasste Version. Unter wiki.ubuntuusers.de/FreeNX finden sich mehr Informationen darüber.
Hallo,
habe NX Server auf mein Ubuntu System installiert, Verbindung mit DynDNS
über Proxy aus dem Internet funktioniert nicht!
folgende Fehlermeldung erscheint, wo liegt das Problem?
NX> 203 NXSSH running with pid: 4572
NX> 285 Enabling check on switch command
NX> 285 Enabling skip of SSH config files
NX> 285 Setting the preferred NX options
NX> 200 Connected to web proxy at address: xxx.xxx.xxx.xxx on port:
8080
web proxy handshaking: proxy error: HTTP/1.1 503 Service Unavailable
http://imageshack.us/f/197/unbenanntywe.jpg/
– was bedeutet die Fehlermeldung? wie kann ich das ganze zum
Funktionieren bringen?
Hallo Toni,
Kannst du denn aus dem Netzwerk daheim auf den Rechner zugreifen? Das schließt zumindest eine Fehlkonfiguration aus. Danach würde ich folgende Dinge prüfen:
1. Ist ein Portforwarding für NX auf deinem Router eingerichtet? (Entfällt wenn dein Rechner direkt am Netz hängt)
2. Du gehst über einen Proxy ins Netz, dessen Einstellungen könnten alles mögliche bewirken. Versuch doch mal einen Zugriff ohne Proxy, ggf. von einer anderen Stelle aus um sicher zu gehen, dass es nicht daran hängt.
Die Fehlermeldung sagt mir direkt so nämlich nix.
Gruss
Michael