X2Go mit SSH

Wofür braucht man X2Go mit SSH?


Warum ist ein verschlüsseltes Netz so wichtig?

Nehmen Sie sich zur Einleitung 10 Minuten Zeit und sehen sich diesen kurzen Film an:

Verwendung von SSH ein sicheres Netz für die Familie und X2Go

Richard Albrecht beschreibt einfach und verständlich auf der Ubucon in Leipzig 2011, wie man mit Hilfe von SSH ein sicheres Netzwerk aufbauen kann und das mit wenigen Vorkenntnissen.


 

SSH (Secure Shell) für X2Go

OpenSSH ist fester Bestandteil bei allen anderen Linux-Distributionen und wird für verschlüsselte Verbindungen benutzt.
Eine ausführliche deutsche Beschreibung und Hilfe finden Sie unter: http://wiki.ubuntuusers.de/SSH
Im Folgenden finden Sie einige zusammenfassende Hinweise in Bezug auf X2Go.

Die Authentifizierung beim Verbindungsaufbau sollte in jedem Fall über Schlüssel erfolgen und ein einloggen nur mit Passwort verboten werden.

Authentifizierung über Public-Keys:

Authentifizierung über Public-Keys

 

  • X2Go-Server: Nur der öffentliche Schlüssel wird in dem Home-Verzeichnis des Nutzers im Unterverzeichnis .ssh aufbewahrt.
  • Der Public Key des Servers (/etc/ssh/ssh_host_rsa_key.pub) muss beim Nutzer, wo der X2Go-Client läuft, in die Datei /home/[user]/.ssh/known_hosts eingetragen werden.
  • Dies ist erforderlich, da hiermit der Zugang zum Server authentifiziert wird.
    Im zweiten Schritt wird die Session wird vom Client zum Server-Nutzer aufgebaut.
  • Dazu müssen beim Nutzer, wo der X2Go-Client läuft, ssh-Schlüssel generiert werden.
  • Schlüsselgenerierung: Die ssh-Schlüssel für den X2Go-Client werden mit Hilfe des Kommandozeilenprogramms ssh-keygen auf dem PC generiert, wo der Client läuft.
    Der Befehl:
    ssh-keygen -t rsa
    erzeugt rsa-Schlüssel für ssh.
    Es sollte bei der Generierung kein Passwort angegeben werden, da zwar eine Passwortabfrage für den Schlüssel erfolgt, aber  die Prozessorlast für X2Go 50 % höher ist. Außerdem wird die Session beim Schließen nicht beendet und bleibt hängen.
  • X2Go-Client: Der private (id_rsa) und der öffentliche Schlüssel (id_rsa.pub) werden im Home-Verzeichnis des Nutzers im Unterverzeichnis .ssh aufbewahrt.
  • Sicherheit der Schlüssel: Wer die Schlüssel besitzt, hat ohne weitere Abfrage Zugang zum Nutzerkonto auf dem Server.
    Darum sollten die Schlüssel sicher aufbewahrt werden.
    Bei einem Notebook empfiehlt es sich, die Festplatte oder das .ssh-Verzeichnis des Nutzers zu verschlüsseln.Alternativ kann man auch einen USB-Stick mit ext4-Dateisystem formatieren und verschlüsseln. Das ext4-Format hat gegenüber von fat32 den Vorteil, dass alle Nutzerrechte korrekt gesetzt sind und es eine höhere Sicherheit gegen Datenverlust bietet. Das .ssh-Verzeichnis wird in diesem Fall über einen Link in das Home-Verzeichnis des Nutzers eingebunden. Wenn Sie den USB-Stick einstecken, wird erst nach dem Passwort gefragt und nach erfolgreicher Authentifizierung das .ssh-Verzeichnis in das Home-Verzeichnis gemountet.
  • Nachdem der öffentliche Schlüssel im Home-Verzeichnis des Nutzers auf dem Server abgelegt ist, die Datei  /etc/sshd.conf ändern, dass nur noch eine Authentifizierung mit Schlüsseln erfolgen kann.

Folgende Zeilen in der /etc/ssh/sshd_config ändern:

  • AuthorizedKeysFile    %h/.ssh/authorized_keys
  • PasswordAuthentication no
  • UsePAM no

Anschließend im Terminal mit sudo reload ssh  die Konfiguration neu einlesen lassen, damit die Konfiguration aktiv wird.

 


 

X2Go Remote-Desktop

X2GoMit X2Go kann man einen entfernten PC so benutzen, als wäre man vor Ort.
Gegenüber dem mit Ubuntu installierten Remote-Desktop ist X2Go flexibler und erheblich performanter.
Basis von X2Go ist das schnelle NX Protokoll, das für eine Remote-Anbindung entwickelt wurde.
Für die verschlüsselte Verbindung wird ssh benötigt.

Die folgenden Informationen wurden aus verschiedenen Webseiten zusammengetragen.
Alle Codes unterliegen der GNU GPL und können daher beliebig abgeändert und weitergeben werden.
Der Grund für diese Zusammenstellung ist, dass es standardmäßig für XFCE4 keine Einbindung in X2Go gibt.

Eine deutsche Beschreibung für X2Go finden Sie in Wikipedia: http://de.wikipedia.org/wiki/X2go

X2Go Pakete für Ubuntu: http://wiki.x2go.org/doku.php/download:start

ACHTUNG!
Das Paket x2gognomebindings auf keinen Fall installieren, wenn Gnome nicht installiert ist. Hier stimmen die Abhängkeiten nicht. Es läßt sich auswählen, aber wird nicht richtig installiert. Es läßt sich auch nicht mehr deinstallieren.

Die Lösung X2Go unter Xubuntu ans Laufen zu bringen, fand ich in einem Mail Archiv:
http://www.mail-archive.com/x2go-user@lists.berlios.de/msg00474.html
Die folgende Beschreibung unterscheidet sich nur dadurch, dass das Scipt beim Server nicht im Home-Verzeichnis des Nutzers, sondern unter /opt/x2go liegt. Dadurch ist es für mehrere Nutzer ausführbar und muss nicht in jedes Home-Verzeichnis kopiert werden.

 


 

X2Go-Server

Damit Xubuntu mit X2Go läuft sind ein paar Ergänzungen auf dem PC, wo der X2Go-Server läuft, erforderlich.

Legen Sie mit unter /opt zuerst ein Verzeichnis /x2go mit Root-Rechten an.
In dieses kopieren Sie das Script x2go_xubuntu und machen es ausführbar.

Download: x2go_xubuntu

Script: x2go_xubuntu

#!/bin/bash

# This script exports the variables and starts the
# x2go client with xfce4 desktop for Xubuntu.
#
# Dieses Script exportiert die Variablen und startet
# den x2go Client mit dem xfce4 Desktop für Xubuntu.

export XDG_CONFIG_DIRS=’/etc/xdg/xdg-xubuntu:/etc/xdg‘
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nx/X11
export LANG=de_DE.UTF-8
exec /usr/bin/startxfce4

Es werden alle Pfade und Variablen exportiert und zum Schluss XFCE4 aufgerufen.

Sie können, wie hier dargestellt, die Zeile
export LANG=de_DE.UTF-8
zusätzlich einfügen, damit im X2Go-Fenster die Sprache deutsch ist.

 


 

X2Go-Client

Beim Nutzer des Notebooks oder PCs muss unter
Sitzungsverwaltung –>  Sitzungsvoreinstellung –> Sitzung als

Sitzungsart: Andere Desktopumgebung

eingetragen werden.

Unter Befehl muss der Pfad auf dem Server angegeben werden, wo sich das Script befindet:

/opt/x2go/x2go_xubuntu

X2Go Sitzungsvoreinstellungen

 

 

 

Zurück: Linux Update: 21.03.2016