Zum Inhalt springen

Shellinabox/man: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „http://“ durch „https://“
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== NAME ==
== Beschreibung ==
shellinaboxd - publish command line shell through AJAX interface
Der shellinaboxd-Daemon implementiert einen Webserver, der den angegebenen Port überwacht. Der Webserver veröffentlicht einen oder mehrere Dienste, die in einem VT100-Emulator angezeigt werden, der als AJAX-Webanwendung implementiert ist. Standardmäßig lautet der Port 4200 und die Standard-Dienst-URL https://localhost:4200/.


== SYNOPSIS ==
Wenn kein bestimmter Dienst angefordert wurde, startet der Server /bin/login und fragt den Benutzer nach seinem Benutzernamen und Passwort. Anschließend wird die Standard-Anmeldeshell des Benutzers gestartet.
shellinaboxd [ -b | --background[=pidfile] ] [ -c | --cert=certdir ] [ --cert-fd=fd ] [ --css=filename ] [ --cgi[=portrange] ] [ -d | --debug ] [ -f | --static-file=url:file ]  [ -g | --group=gid ] [ -h | --help ] [ --linkify=[none|normal|aggressive] ] [ --localhost-only ] [ --no-beep ] [ -n | --nu‐meric ] [ --pidfile=pidfile ] [ -p | --port=port ] [ -s | --service=service ] [ -t |  --disable-ssl ]  [ --disable-ssl-menu ]  [ -q |  --quiet ] [ -u | --user=uid ] [ --user-css=styles ] [ -v | --verbose ] [ --version ]


== DESCRIPTION ==
Jeder moderne JavaScript- und CSS-fähige Browser kann auf den veröffentlichten Dienst zugreifen, ohne dass zusätzliche Plugins erforderlich sind.
The  shellinaboxd  daemon  implements  a webserver that listens on the specified port. The web server publishes one or more services that will be displayed in a VT100 emulator implemented as an AJAX web application. By default, the port is 4200 and the default service URL is http://localhost:4200/.


If no particular service was requested, the server launches /bin/login querying the user for their username and password. It then starts the user's default login shell.
== KONFIGURATION ==
Es gibt keine Konfigurationsdateien oder permanenten Einstellungen für shellinaboxd


Any modern JavaScript and CSS enabled browser will be able to access the published service without requiring additional plugins.
Eine kleine Anzahl von Laufzeit-Konfigurationsoptionen ist über ein Kontextmenü verfügbar, das durch Klicken mit der rechten Maustaste aufgerufen wird. Diese Optionen werden in einem Browser-Cookie gespeichert.


== CONFIGURATION ==
Auf vielen Websites läuft bereits ein Webserver und sie möchten shellinaboxd in ihre bestehende Website integrieren. Dies geschieht in der Regel über
There are no configuration files or permanent settings for shellinaboxd.
einen Reverse-Proxy-Eintrag für den Hauptwebserver. Für Apache würde dies das Hinzufügen einer Option wie der folgenden erfordern:
<Location /shell>
ProxyPass https://localhost:4200/
Order allow,deny
Allow from all
</Location>


A small number of run-time configuration options are available from a context menu that becomes available when clicking the right mouse  button.  These
Wenn Sie einen anderen Webserver verwenden, lesen Sie in der Dokumentation dieses Servers nach, wie Reverse-Proxy-Vorgänge konfiguriert werden.
options get persisted in a browser cookie.


Many  sites already have a web server running and would like to integrate shellinaboxd into their existing site. This is most commonly done by means of
Bei Verwendung eines Reverse-Proxys wird normalerweise auch die Option --localhost-only aktiviert. Darüber hinaus kann auch die Option --disable-ssl in Betracht gezogen werden, je nach den genauen Konfigurationsdetails des Reverse-Proxys.
a reverse-proxy entry for the main web server. For Apache this would require adding an option such as:
<Location /shell>
ProxyPass  http://localhost:4200/
Order      allow,deny
Allow      from all
</Location>


If you are using a different web server, refer to that server's documentation on how to configure reverse proxy operations.
== DIAGNOSE ==
Der Daemon gibt im Falle eines Fehlers einen von Null verschiedenen Exit-Code zurück. Mit Ausnahme einer kleinen Anzahl häufiger Fehlerfälle, die explizit behandelt werden, führen die meisten Fehler dazu, dass die Meldung "Überprüfung fehlgeschlagen" ausgegeben wird. Dies deutet in der Regel nicht auf einen Fehler im Programm hin, sondern ist stattdessen die normale Art und Weise, wie Fehler gemeldet werden


When using a reverse proxy, the --localhost-only option would normally be enabled as well.  In addition, the --disable-ssl might also be considered de‐
Häufige Fehlerbedingungen sind die Wiederverwendung eines bereits verwendeten Ports, unzureichende Berechtigungen zum Ausführen eines Dienstes, das Nichtauffinden von SSL/TLS-Zertifikaten und das Nichtschreiben neu generierter Zertifikate in das Zertifizierungsverzeichnis.
pending on the exact configuration details of the reverse proxy.


== DIAGNOSTICS ==
== SICHERHEIT ==
The  daemon  returns  a  non-zero exit code in case of failure. With the exception of a small number of common error cases that are handled explicitly,
Der Daemon verwendet Techniken zur Privilegientrennung, um Privilegien frühzeitig zu löschen. Er erkennt setuid-Flags und schränkt einige Vorgänge ein, wenn
most errors result in printing a "Check failed" message. This does not typically indicate a bug in the program but is instead its normal way of report‐
er als setuid-Anwendung gestartet wird.
ing errors.


Common failure conditions are reusing a port that is already in use, lack of sufficient privileges to run a service, failure to find SSL/TLS  certifi‐
Trotz dieser Sicherheitsfunktionen könnte ein Fehler dazu führen, dass ein entschlossener Angreifer erweiterte Berechtigungen erhält. Es wird daher dringend davon abgeratendas setuid-Flag für die Binärdatei zu setzen.
cates, and failure to write newly generated certificates to the certification directory.


== SECURITY ==
Die erwartete Bereitstellung erfolgt über ein System-rc-Skript, das von /sbin/init gestartet wird. Für zusätzliche Sicherheit sollten die Optionen --group und --user verwendet werden, um zu einem dedizierten Benutzer zu wechseln.
The  daemon  uses  privilege separation techniques to allow it to drop privileges early. It is aware of setuid flags and restricts some operations when
launched as a setuid application.


Despite these safety features, a bug could conceivably lead to a determined attacker gaining elevated privileges. It is therefore strongly  discouraged
== FEHLER ==
to set the setuid flag on the binary.
Aufgrund von Einschränkungen des Browsers stehen einige Funktionen möglicherweise nicht für alle Browser zur Verfügung.


The  expected deployment would be from a system rc script launched by /sbin/init. For extra security, the --group and --user options should be used to
Konqueror erlaubt kein zuverlässiges Abfangen von STRG-Tasten. Wenn Sie eine Taste zusammen mit der STRG-Taste drücken, wird weiterhin das
change to a dedicated user.
vordefinierte Verhalten des Browsers für diese bestimmte Tastenkombination ausgeführt. In den meisten Fällen wird auch nicht die richtige Taste an den Terminalemulator gemeldet. Als Behelfslösung funktioniert manchmal das gleichzeitige Drücken der STRG- und der WINDOWS-Taste.


== BUGS ==
Einige Browser, insbesondere der Internet Explorer unter Windows, erlauben kein Abfangen der ALT-Taste und interpretieren diese Tasten immer als Menübeschleuniger. Als Workaround erlauben viele UNIX-Anwendungen das Drücken von ESC anstelle von ALT.
Due to browser limitations, some features might not be available to users of all browers.


Konqueror  does  not  allow  for  reliable  interception  of CTRL keys. If you press a key together with the CTRL modifier, it continues performing the
Bei Verwendung von Tastaturlayouts, die nicht aus den USA stammen, können einige Browser die gedrückte ALT-Taste nicht zuverlässig erkennen. Bitte melden Sie diese Fälle, wenn sie sich als Problem herausstellen, da möglicherweise Workarounds möglich sind.
browser's predefined behavior for this particular key combination. In most cases, it also fails to report the correct key to the terminal emulator.  As
a work-around, pressing both the CTRL and the WINDOWS key sometimes works.


Some  browsers,  most  notably IE on Windows, disallow interception of ALT keys and always interpret these keys as menu accelerators. As a work-around,
Der Zugriff auf die systemeigene Zwischenablage ist normalerweise nicht möglich. Stattdessen wird eine interne Zwischenablage verwendet, die über das Kontextmenü der rechten Maustaste aufgerufen werden kann, außer im Internet Explorer
many UNIX applications allow pressing ESC, instead of ALT.


When using non-US keyboard layouts, some browser do not allow for reliably determining shifted ALT keys. Please report these cases if they turn out  to
Einige Browser beschränken die Anzahl gleichzeitiger Verbindungen zu einem Server. Dadurch wird die Anzahl gleichzeitig geöffneter AJAX-Terminals beschränkt. Wenn dies zu einem Problem wird, können Benutzer ihren Browser in der Regel neu konfigurieren, um die Grenze zu erhöhen.
be a problem, as work-arounds might be possible.


Access  to the native clipboard is typically not possible. Instead, an internal clipboard accessible from the right-button context menu is used for all
Es gibt Berichte, dass das VLC-Plugin auf Linux/x86_64 Firefox zum Absturz bringt, wenn die Browserseite neu geladen wird. Durch das Festlegen der Option --no-beep werden alle Verweise auf VLC eliminiert, wodurch dieser Absturz anscheinend umgangen wird.
but IE.


Some browsers restrict the number of concurrent connections to a server. This restricts how many AJAX terminals can be opened simultaneously.  If  this
[[Kategorie:Shellinabox]]
becomes a problem, users can typically reconfigure their browsers to raise the limit.
 
There have been reports of the VLC plugin on Linux/x86_64 crashing Firefox when the browser page gets reloaded. Setting the --no-beep option eliminates
all references to VLC and thus appears to work around this crash.

Aktuelle Version vom 7. April 2025, 14:41 Uhr

Beschreibung

Der shellinaboxd-Daemon implementiert einen Webserver, der den angegebenen Port überwacht. Der Webserver veröffentlicht einen oder mehrere Dienste, die in einem VT100-Emulator angezeigt werden, der als AJAX-Webanwendung implementiert ist. Standardmäßig lautet der Port 4200 und die Standard-Dienst-URL https://localhost:4200/.

Wenn kein bestimmter Dienst angefordert wurde, startet der Server /bin/login und fragt den Benutzer nach seinem Benutzernamen und Passwort. Anschließend wird die Standard-Anmeldeshell des Benutzers gestartet.

Jeder moderne JavaScript- und CSS-fähige Browser kann auf den veröffentlichten Dienst zugreifen, ohne dass zusätzliche Plugins erforderlich sind.

KONFIGURATION

Es gibt keine Konfigurationsdateien oder permanenten Einstellungen für shellinaboxd

Eine kleine Anzahl von Laufzeit-Konfigurationsoptionen ist über ein Kontextmenü verfügbar, das durch Klicken mit der rechten Maustaste aufgerufen wird. Diese Optionen werden in einem Browser-Cookie gespeichert.

Auf vielen Websites läuft bereits ein Webserver und sie möchten shellinaboxd in ihre bestehende Website integrieren. Dies geschieht in der Regel über einen Reverse-Proxy-Eintrag für den Hauptwebserver. Für Apache würde dies das Hinzufügen einer Option wie der folgenden erfordern:

<Location /shell>
ProxyPass https://localhost:4200/
Order allow,deny
Allow from all
</Location>

Wenn Sie einen anderen Webserver verwenden, lesen Sie in der Dokumentation dieses Servers nach, wie Reverse-Proxy-Vorgänge konfiguriert werden.

Bei Verwendung eines Reverse-Proxys wird normalerweise auch die Option --localhost-only aktiviert. Darüber hinaus kann auch die Option --disable-ssl in Betracht gezogen werden, je nach den genauen Konfigurationsdetails des Reverse-Proxys.

DIAGNOSE

Der Daemon gibt im Falle eines Fehlers einen von Null verschiedenen Exit-Code zurück. Mit Ausnahme einer kleinen Anzahl häufiger Fehlerfälle, die explizit behandelt werden, führen die meisten Fehler dazu, dass die Meldung "Überprüfung fehlgeschlagen" ausgegeben wird. Dies deutet in der Regel nicht auf einen Fehler im Programm hin, sondern ist stattdessen die normale Art und Weise, wie Fehler gemeldet werden

Häufige Fehlerbedingungen sind die Wiederverwendung eines bereits verwendeten Ports, unzureichende Berechtigungen zum Ausführen eines Dienstes, das Nichtauffinden von SSL/TLS-Zertifikaten und das Nichtschreiben neu generierter Zertifikate in das Zertifizierungsverzeichnis.

SICHERHEIT

Der Daemon verwendet Techniken zur Privilegientrennung, um Privilegien frühzeitig zu löschen. Er erkennt setuid-Flags und schränkt einige Vorgänge ein, wenn er als setuid-Anwendung gestartet wird.

Trotz dieser Sicherheitsfunktionen könnte ein Fehler dazu führen, dass ein entschlossener Angreifer erweiterte Berechtigungen erhält. Es wird daher dringend davon abgeraten, das setuid-Flag für die Binärdatei zu setzen.

Die erwartete Bereitstellung erfolgt über ein System-rc-Skript, das von /sbin/init gestartet wird. Für zusätzliche Sicherheit sollten die Optionen --group und --user verwendet werden, um zu einem dedizierten Benutzer zu wechseln.

FEHLER

Aufgrund von Einschränkungen des Browsers stehen einige Funktionen möglicherweise nicht für alle Browser zur Verfügung.

Konqueror erlaubt kein zuverlässiges Abfangen von STRG-Tasten. Wenn Sie eine Taste zusammen mit der STRG-Taste drücken, wird weiterhin das vordefinierte Verhalten des Browsers für diese bestimmte Tastenkombination ausgeführt. In den meisten Fällen wird auch nicht die richtige Taste an den Terminalemulator gemeldet. Als Behelfslösung funktioniert manchmal das gleichzeitige Drücken der STRG- und der WINDOWS-Taste.

Einige Browser, insbesondere der Internet Explorer unter Windows, erlauben kein Abfangen der ALT-Taste und interpretieren diese Tasten immer als Menübeschleuniger. Als Workaround erlauben viele UNIX-Anwendungen das Drücken von ESC anstelle von ALT.

Bei Verwendung von Tastaturlayouts, die nicht aus den USA stammen, können einige Browser die gedrückte ALT-Taste nicht zuverlässig erkennen. Bitte melden Sie diese Fälle, wenn sie sich als Problem herausstellen, da möglicherweise Workarounds möglich sind.

Der Zugriff auf die systemeigene Zwischenablage ist normalerweise nicht möglich. Stattdessen wird eine interne Zwischenablage verwendet, die über das Kontextmenü der rechten Maustaste aufgerufen werden kann, außer im Internet Explorer

Einige Browser beschränken die Anzahl gleichzeitiger Verbindungen zu einem Server. Dadurch wird die Anzahl gleichzeitig geöffneter AJAX-Terminals beschränkt. Wenn dies zu einem Problem wird, können Benutzer ihren Browser in der Regel neu konfigurieren, um die Grenze zu erhöhen.

Es gibt Berichte, dass das VLC-Plugin auf Linux/x86_64 Firefox zum Absturz bringt, wenn die Browserseite neu geladen wird. Durch das Festlegen der Option --no-beep werden alle Verweise auf VLC eliminiert, wodurch dieser Absturz anscheinend umgangen wird.