Work@Home
Firmen-Desktop unterwegs nutzen
Schlüsselmeister
Standardmäßig benutzen alle Anwender vorgefertigte Schlüssel, die Client und Server bereits mitliefern. Der Nachteil: Bildlich gesprochen gelangt dadurch jeder beliebige Nutzer eines NX-Clients direkt vor Ihre Haustür – und kennt er die Login-Daten für Ihren Desktop, geht's sogar noch weiter.
Indem Sie eigene Schlüssel anfertigen, errichten Sie eine weitere Hürde zwischen den Clients und dem Server. Zunächst generieren Sie auf dem Server ein Schlüsselpaar. Dafür bringt NX einen eigenen Generator mit. Der Befehl
$ sudo /usr/NX/scripts/setup/nxserver --keygen
erzeugt einen öffentlichen (/usr/NX/home/nx/.ssh/default.id_dsa.pub) und einen privaten (/usr/NX/share/keys/default.id_dsa.key) Schlüssel. Letzteren erhält der Anwender Kris, der von zu Hause auf den Server zugreifen will. Den öffentlichen Schlüssel legt das Kommando zudem in der Datei /usr/NX/home/nx/.ssh/authorized_keys2 ab.
Aus Sicherheitsgründen legt NX einen eigenen Standardbenutzer namens nx an, der über begrenzte Rechte verfügt. Er sorgt dafür, dass niemand Root-Zugriff auf den Server erlangt. Dasselbe Konzept kommt auch beim Aufsetzen eines Apache-Servers zum Einsatz. Der Benutzer nx muss den öffentlichen Schlüssel lesen können. Um ihm das zu ermöglichen, benötigen Sie Superuser-Rechte, die OpenSuse-Nutzer über su root und Ubuntu-Anwender per sudo su erlangen.
Wechseln Sie dann in das Verzeichnis /usr/NX/home/nx/.ssh – das SSH-Verzeichnis für den Benutzer nx. Dort übergeben Sie den Schlüssel seinem neuen Eigentümer (Listing 1, Zeile 1). Er gehört nun zum Benutzer nx und zur Gruppe root. Damit Sie ihn später wiedererkennen, erhält der Key den Namen seines neuen Herrchens (Zeile 2). Zuletzt ändern Sie noch die Zugriffsrechte für die beiden Dateien, damit sie garantiert nur der Nutzer nx lesen darf (Zeile 3).
# chown nx:root authorized_keys2 default.id_dsa.pub # mv default.id_dsa.pub kris.id_dsa.pub # chmod 0644 authorized_keys2 kris.id_dsa.pub
Nun wenden Sie sich dem privaten Schlüssel default.id_dsa.key zu, der im Verzeichnis /usr/NX/share/keys lagert. Auch ihn benennen Sie um:
# mv default.id_dsa.key kris.id_dsa.key
Anschließend transferieren Sie ihn vom Server auf den Client, in das dortige Verzeichnis /usr/NX/share/keys. Am besten überreichen Sie ihn dazu Kris höchstpersönlich auf einem USB-Stick oder kopieren ihn auf seinen Laptop.
Damit der Schlüssel tatsächlich seinen Zweck erfüllt, muss ihn die Client-Software einlesen. Sie oder Kris rufen also auf dem Client den Menüpunkt Anwendungen | Internet | NX Client for Linux | NX Client for Linux auf und klicken im passenden Profil auf Configure sowie im Reiter General auf Key. Der Schalter Import öffnet ein Fenster, über das Sie den neuen Schlüssel /usr/NX/share/keys/kris.id_dsa.key auswählen und damit importieren. Ein Klick auf Save speichert die Einstellungen, und Sie landen wieder an der Rezeption.
Multiple User
Will nun auch die Mitarbeiterin Vivi vom Sofa aus arbeiten, generieren Sie wie oben gezeigt über nxserver --keygen einen zweiten Schlüssel. Nennen Sie ihn vivi.id_dsa.pub. Das Problem: Weil der NX-Server allein den neuen öffentlichen Schlüssel zum Authentifizieren der Benutzer einsetzt, kann sich Kris plötzlich nicht mehr anmelden. Über den Befehl:
# cat kris.id_dsa.pub >> authorized_keys2
den Sie wieder als Superuser im Verzeichnis /usr/NX/home/nx/.ssh ausführen, autorisieren Sie beide Mitarbeiter für den Zugriff auf den Server. Sie ergänzen einfach die Datei, die zu Autorisierung dient, um den neuen Schlüssel.
Um nicht zu vergessen, welcher Schlüssel zu welchem Benutzer gehört, fügen Sie am besten zusätzlich Kommentare in die Datei authorized_keys2 ein. Anschließend setzen Sie die Konfiguration wie oben gezeigt fort. Das heißt, Sie ändern den Eigentümer und die Zugriffsrechte für die Dateien vivi.id_dsa.pub und authorized_keys2 und folgen den weiter oben erwähnten Schritten zum Einrichten des NX-Client von Vivi.
[1] Webseite von NoMachine: http://www.nomachine.com
[2] FreeNX-Webseite: http://freenx.berlios.de
[3] Freie NX-Software zum Download: http://www.nomachine.com/select-package.php?os=linux&id=1
[4] Details zur Kompression mit NX: http://www.nomachine.com/documents/getting-started.php
[5] Client konfigurieren: http://www.nomachine.com/documents/configuration/client-guide.php
[6] NX-Filesharing über Samba einrichten: http://www.nomachine.com/howto/file-sharing.php



