ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

shellinabox

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Wiki/Icons/terminal.png shellinabox 🇬🇧 ist ein Terminal, das über einen Webbrowser aufgerufen werden kann. Es ähnelt dem Projekt Ajaxterm. shellinabox benötigt allerdings kein SSH. Die Web-Shell ist daher besonders für Wartungszwecke an Servern geeignet. Ein weiterer Vorteil ist, dass kein Webserver wie z.B. Apache erforderlich ist.

Das Programm unterstützt zusätzlich die SSL-Verschlüsselung der Verbindung. Unter der Verwendung dieses Terminals kann man beispielsweise den SSH-Server abschalten und an diesem arbeiten, ohne den Kontakt zum Server zu verlieren.

Das Programm setzt softwareseitig auf JavaScript und CSS, ersteres muss im Browser aktiviert sein.

Installation

Wiki/Icons/synaptic.png Shellinabox ist ab Ubuntu 14.04 Bestandteil der offiziellen Paketquellen und kann über folgendes Paket installiert werden [1]:

  • shellinabox (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install shellinabox 

Oder mit apturl installieren, Link: apt://shellinabox

Verwendung

Erster Test

War die Installation erfolgreich, ist das shellinabox schon lokal erreichbar. Man kann die Web-Shell über die URL http://localhost:4200 im Browser aufrufen.

Konfiguration

War der Test erfolgreich, ist es an der Zeit, den Server einzurichten. Der erste Schritt hierbei ist es, den als Dienst eingerichteten Server mit [2][3]:

sudo update-rc.d -f shellinabox remove 

aus dem Bootvorgang zu entfernen. Hierdurch wird die Konfiguration deutlich leichter.

Hinweis:

Man könnte alternativ auch die Dateien /etc/default/shellinabox und /etc/init.d/shellinabox anpassen, nur ist hier:

  • die Konfiguration nicht so einfach zu bewerkstelligen wie im Folgenden beschrieben

  • nicht die Möglichkeit gegeben, mehrere shellinabox-Instanzen auf einmal zu starten

Nun sollte man sich überlegen, ob man die SSL-Verschlüsselung (empfehlenswert!) nutzen möchte oder nicht.

Ohne SSL-Verschlüsselung

Achtung!

Diese Variante ist nur innerhalb geschützter Netzwerke sinnvoll. Falls der Zugriff über das Internet erfolgt, sollte man diese Möglichkeit meiden.

Um keine Verschlüsselung zu nutzen, muss man lediglich folgenden Eintrag in /etc/rc.local tätigen [4]:

shellinaboxd -b -p PORT -t -u 0

PORT muss hierbei durch eine Port-Nummer ersetzt werden. Ein konkreter Eintrag sieht dann z.B. so aus:

shellinaboxd -b -p 4000 -t -u 0

Wiki/Icons/security.png

Mit SSL-Verschlüsselung

Für die Nutzung der Verschlüsselung muss man einen Ordner anlegen, in dem man das SSL-Zertifikat lagert. Im Beispiel wird das /opt/cert sein. Danach wird ein SSL-Zertifikat generiert (siehe auch CA und ssl-cert). Um das Zertifikat zu generieren, muss das Paket openssl installiert sein:

  • openssl

Befehl zum Installieren der Pakete:

sudo apt-get install openssl 

Oder mit apturl installieren, Link: apt://openssl

Jetzt kann das Zertifikat erstellt werden. Hierzu wechselt man in das Verzeichnis für das Zertifikat:

cd /opt/cert 

und gibt folgenden Befehl in die Kommandozeile ein:

sudo openssl req -new -x509 -keyout certificate.pem -out certificate.pem -days 365 -nodes && chmod 644 certificate.pem 

Die gestellten Fragen sollten wahrheitsgemäß beantwortet werden.

Das war es jetzt auch schon fast. Nun noch den Server in /etc/rc.local aufnehmen, damit er beim Booten automatisch startet. Dazu fügt man folgenden Befehl hinzu:

shellinaboxd -p PORT -c /opt/cert -u 0 -b

Auch hier muss PORT wieder durch eine Port-Nummer ersetzt werden.

Neustart des Servers

Zum Neustart des Servers verwendet man den Befehl, der in /etc/rc.local eingetragen wurde oder startet den Rechner neu. Des Weiteren kann man auch --localhost-only hinter den Befehl hängen, damit der Server nur lokal erreichbar ist.

Problembehebung

Firefox ab 3.x

Mit dem Erscheinen von Firefox 3.0 hat sich die Behandlung selbstsignierter Zertifikate entscheidend geändert. Diese werden über entsprechende Warnhinweise prinzipiell als verdächtig bzw. unsicher eingestuft und der Client-Zugriff komplett blockiert. Daher müssen eigene Zertifikate erst heruntergeladen und über dauerhafte Ausnahmeregeln legitimiert werden. Inzwischen warnen auch andere Browser vor selbstsignierten Zertifikaten.

Falls Firefox dieses verweigert bzw. gar nicht erst anbietet, ruft man die Pseudo-Adresse about:config auf und setzt den Wert des Schlüssels

browser.xul.error_pages.expert_bad_cert

auf true.

Diese Revision wurde am 8. Januar 2017 16:04 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Server, Internet, System