Ubuntu 14.04 Trusty Tahr
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.
Shellinabox ist ab Ubuntu 14.04 Bestandteil der offiziellen Paketquellen und kann über folgendes Paket installiert werden [1]:
shellinabox (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install shellinabox
sudo aptitude install shellinabox
War die Installation erfolgreich, ist das shellinabox schon lokal erreichbar. Man kann die Web-Shell über die URL http://localhost:4200
im Browser aufrufen.
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.
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.
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
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
mit apturl
Paketliste zum Kopieren:
sudo apt-get install openssl
sudo aptitude install 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.
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.
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
.
Manpage - Übersicht der Programmoptionen
How to access ssh terminal in web browser on Linux - Blogbeitrag, 09/2013
Serverdienste Übersichtsartikel
Diese Revision wurde am 8. Januar 2017 16:04 von aasche erstellt.