Aus Linux-Magazin 09/2014

Aus dem Alltag eines Sysadmin: Shell In A Box

Abbildung 1: Läuft auf einem Rechner der Webserver Shell In A Box, surft ihn der Admin per Browser an und trifft auf ein Bash-Login.

Alle Dienste, die nicht bei drei auf dem Baum sind, hievt irgendwann irgendwer ins Web. Warum nicht auch den Remote-Login?! Eine Software, die das implementiert, hört auf den beschreibenden Namen “Shell In A Box” und schickt – mit etwas Javascript- und CSS-Magie gewürzt – eine Shell in Richtung Browser.

Der hier vorgestellte Web-Login ist bei vielen Distributionen etabliert oder unter [1] zu bekommen. Auf meinem Test-Kubuntu hüpft die Shell In A Box mit

apt-get -fym install shellinabox

in die Kiste. Sie startet als Serverdienst im Hintergrund und lauscht gewöhnlich auf Port 4200. Surfe ich »localhost:4200« mit einem Browser an, erhalte ich den Login-Prompt der Bash und darf mich wie gewohnt einloggen und arbeiten (Abbildung 1). Und es muss nicht immer gleich der komplette Login sein. Ich kann auch die Ausgabe von Programmen, die in der Bash laufen, ins Web umleiten.

Shell In A Box lässt sich gut anpassen. Mit

shellinaboxd -t--localhost-only -p 8001--no-beep -s '/htop/:nobody:nogroup:/:htop-d 5'

verfrachte ich etwa den Prozessmonitor Htop ins Web. Der Parameter »-t« klemmt die SSL-Verschlüsselung ab, die serienmäßig aktiviert ist. Das Abschalten ist hier unkritisch, weil ich Shell In A Box nur lokal auf 127.0.0.1 lauschen lasse – also wörtlich: In a Box. Wenn mir der serienmäßige Port 4200 nicht behagt, wähle ich irgendeinen anderen, hier per »-p 8001« . Durch »–no-beep« deaktiviere ich nervige Benachrichtigungstöne.

Abbildung 1: Läuft auf einem Rechner der Webserver Shell In A Box, surft ihn der Admin per Browser an und trifft auf ein Bash-Login.

Abbildung 1: Läuft auf einem Rechner der Webserver Shell In A Box, surft ihn der Admin per Browser an und trifft auf ein Bash-Login.

Verschiedene Schalentiere

Nach »-s« folgt der eigentliche Shellbefehl, dessen Ausgabe der Browser darstellen soll. Das geht durchaus auch mit mehreren Kisten-Shell-Instanzen gleichzeitig, weshalb ich zur Unterscheidung eine URL angebe (»/htop« ). Um die Ausgabe zu sehen, muss ich also die URL »http://127.0.0.1/htop« im Browser aufrufen. Das Ergebnis sieht dann aus wie in Abbildung 2.

Der Browser kann nicht nur statisch den Textausfluss der üblichen Kommandozeilentools anzeigen, sondern arbeitet interaktiv, wenn die aufgerufenen Programme das können. Drücke ich beispielsweise in der Htop-Ausgabe von eben die Taste [M], so zeigt mir der Browser die Prozesse nach Speicherbedarf absteigend sortiert an, ganz wie auf der nativen Kommandozeile gewohnt.

Wie immer im Produktivbetrieb rate ich auch bei dem Shellinaboxd zur Umsicht. Wer seine Bash ins Web exportiert, sollte mindestens auf HTTPS bestehen. Die Benutzerrechte möglichst konservativ zu wählen, wie im Htop-Beispiel mit »nobody:nogroup« geschehen, ist eine weitere gute Idee.

Abbildung 2: Hier läuft der Prozessmonitor Htop in der Shell In A Box. Trotz Browserdarstellung funktionieren Hotkeys wie <custom name="key" srcset=

M«.” width=”300″ height=”225″ /> Abbildung 2: Hier läuft der Prozessmonitor Htop in der Shell In A Box. Trotz Browserdarstellung funktionieren Hotkeys wie M«.

Der Autor

Charly Kühnast administriert Unix-Systeme im Rechenzentrum Niederrhein. Zu seinen Aufgaben gehören Sicherheit und Verfügbarkeit der Firewalls und der DMZ.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben