Nutzung der Linux Shell auf einem Managed Server

In einigen Situationen ist es nötig oder sinnvoll, die Linux Shell auf Ihrem Managed Server zu nutzen. Grundsätzlich steht Ihnen die Bash sowie die GNU Standardumgebung auf dem Managed Server zur Verfügung

Root-Zugriff

Ein Zugriff auf den Administrator-Benutzer root ist nicht möglich.

SSH zu Ihrem Managed Server

Secure SHell, oder SSH, ist die sicherste und heute gängige Methode, um sich auf einem entfernten Linux Rechner einzuloggen. Jeder pd-admin Nutzer kann sich prinzipiell in seinem Kontext auf dem Managed Server einloggen.

Login-Shell Einstellen

Die Login Shell eines neu angelegten Benutzers auf einem unserer Managed Server steht standardmäßig auf /bin/false, so wird ein Remote-Login verhindert.

Es gibt dabei zwei Möglichkeiten:

  • Login mit Ihrem pd-admin Passwort
  • Login mit SSH-Key

Um die Loginshell einzustellen, loggen Sie sich als Reseller/Administrator auf Ihrem Managed Server ein unter

https://$servername.$domain.$tld/administrator/

Bitte klicken Sie anschließend auf „Endkunden -> Übersicht“, beim entsprechenden Benutzer dann auf „Verwalten“.

../../_images/120.jpg

Über den Button „Shell“ stellen Sie „/bin/bash“ als aktuelle Shell ein.

../../_images/211.jpg ../../_images/311.jpg

Login mit Passwort

Nachdem die Loginshell wie oben beschrieben eingestellt wurde, kann sich der Benutzer mit seinem Benutzernamen und Passwort (analog zu dem /customer-Login für pd-admin) per SSH auf Ihrem Managed Server einloggen.

Login mit öffentlichem SSH Schlüssel (SSH Publickey Verfahren, empfohlen)

Sie benötigen ein Schlüsselpaar. OpenSSH bringt dafür das Programm ssh-keygen mit. Windows Nutzer können den Generator aus der PuTTY Suite nutzen (puttygen.exe): https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Der öffentliche Schlüssel muss für den Benutzer in pd-admin hinterlegt werden. Loggen Sie sich dazu als Administrator/Reseller auf Ihrem Managed Server ein, klicken Sie auf „Endkunden -> Übersicht“ und dann beim entsprechenden Benutzer auf „Verwalten“ über „SSH-Keys“ können Sie dann pro Zeile einen Schlüssel einfügen.

Kurze Einführung in die Kommandozeile Ihres Managed Servers

Grundsätzlich stehen Ihnen die Bash sowie die GNU Werkzeuge zur Verfügung.

Weiterhin sind in /usr/local/pd-admin2/bin zusätzliche Befehle vorhanden, die in unserer pd-admin Serverumgebung enthalten sind. So finden Sie dort z.B. auch sämtliche PHP-Interpreter für die aktuell verfügbaren Versionen oder das MySQL Kommandozeilenprogramm.

SSH-Tunnel

Der SSH-Tunnel biete eine Möglichkeit verschlüsselt mit Diensten auf Ihrem Server zu kommunizieren. Wir zeigen dies am Beispiel des MySQL Dienstes. Per Default ist die Kommunikation mit MySQL unverschlüsselt. Möchte man dies über das Internet machen, würden Daten im Klartext übertragen.

SSH-Tunnel unter Linux

Der Befehl für einen SSH-Tunnel lautet:

ssh -f user@remotehost -L 3306:host:3306 -N

# Beispiel
ssh -f user@example.net -L 3306:127.0.0.1:3306 -N

# -f - Verschiebt den Prozess in den Hintergrund
# -L - localPort:host:remotePort
# -N - Keine Ausführung von Kommandos nach Verbindungsaufbau

Nun kann man sich mit dem MySQL Dienst verbinden, als sei er lokal am laufen.

SSH-Tunnel unter Windows

Für die Einrichtung von SSH-Tunneln empfiehlt sich die Nutzung des Tools PuTTY.

../../_images/bild_1.jpg
  • PuTTy starten und verbinden
    • Öffnen Sie PuTTy
    • Geben Sie bei „Host Name (or IP address) Ihre Serveradresse ein
    • Klicken Sie auf Open und geben Sie Ihren Benutzernamen und Passwort ein
../../_images/bild_2.jpg ../../_images/bild_3.jpg
  • SSH-Tunnel aktivieren
    • Klicken Sie links oben im PuTTy Fenster auf das Symbol mit den zwei PCs
    • Anschließend auf „Change Settings…“
      • Gehen Sie nach „Connection“ -> „SSH“ -> „Tunnels“
      • Bei „Add new forwarded port:“ geben Sie ein
      • Source port: 3306 (Lokaler Port, kann beliebig sein)
      • Destination: 127.0.0.1:3306 (Host:RemotePort - Hier 3306 da Zugriff auf MySQL)
  • Zum Schluss auf den Button „Add“ klicken und mit „Apply“ bestätigen

Nun steht Ihr SSH-Tunnel bereit zur Nutzung.