Dokumentation

Schnellstart + Funktionsbeschreibung für jeden Bereich und jedes Gerät (wird laufend erweitert)

Installation & Deinstallation

Dieser Artikel beschreibt ausführlich, wie du das SSH Everywhere Panel installierst, aktualisierst und deinstallierst. Der Schwerpunkt liegt auf „wie deinstalliere ich, nachdem ich das Installationsverzeichnis geändert habe“ sowie auf Formatdetails in den Befehlen (Leerzeichen, Anführungszeichen).

1. Installation (ein Einzeiler)

Auf einem Linux-Server mit öffentlicher IP ausführen:

curl -fsSL https://ssheverywhere.com/install.sh | bash

Das Skript erledigt automatisch: System erkennen → Abhängigkeiten installieren (Python3 / venv / pip / git / curl) → Code herunterladen → virtuelle Umgebung anlegen → Python-Abhängigkeiten installieren → systemd-Dienst registrieren und starten.

Unterstützt Debian / Ubuntu / CentOS / Rocky / AlmaLinux / Fedora / WSL (ohne systemd wird automatisch auf Hintergrundbetrieb umgestellt).

Installationsparameter

ParameterBeschreibungBeispiel
--lang <Code>Sprache der Hinweise + Standardsprache des Panels (standardmäßig automatische Erkennung anhand des System-Locale; akzeptiert auch die Nummer 1-16)--lang ja
--dir <Verzeichnis>Installationsverzeichnis (standardmäßig /opt/ssh-everywhere; wenn nicht beschreibbar, automatischer Rückfall auf ~/ssh-everywhere mit Erklärung in der Ausgabe)--dir /opt/my-panel
--port <Port>Port des Panels (standardmäßig 5501)--port 8080
--asciiErzwingt eine Ausgabe mit reinen ASCII-Symbolen ([ok] / [..] / [!] / [x]); kein Zeichensalat in irgendeinem Terminal--ascii
--unicodeErzwingt eine Ausgabe mit Unicode-Symbolen (✓ ⟳ ⚠️ ❌); in UTF-8-Umgebungen ist dies der Standard--unicode
--yes / -yAutomatische Bestätigung beim Upgrade, keine Interaktion nötig--yes

Unterstützte Sprachcodes (16)

CodeSpracheCodeSpracheCodeSpracheCodeSprache
zh中文enEnglishja日本語ko한국어
esEspañolfrFrançaisdeDeutschruРусский
ptPortuguêsitItalianoarالعربيةtrTürkçe
viTiếng ViệtthไทยidBahasa Indonesiahiहिन्दी

Ohne --lang wird automatisch anhand des System-Locale erkannt (zum Beispiel LANG=ja_JP.UTF-8 → Hinweise auf Japanisch). Wenn das Locale des Servers oder Terminals nicht UTF-8 ist (bei den schlanken Images großer Cloud-Anbieter ist LANG=C üblich), wechselt das Skript automatisch auf reine ASCII-Symbole [ok]; ohne ausdrücklich angegebene Sprache werden auch die Hinweistexte auf Englisch zurückgesetzt, und der Grund wird am Anfang erklärt — all das, um Zeichensalat zu vermeiden. Um Ihre Sprache zu erzwingen, verwenden Sie: --lang xx --unicode.

Beim Übergeben von Parametern über eine Pipe muss bash -s -- ergänzt werden:

# Hinweise auf Japanisch + japanisches Panel
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ja

# Hinweise auf Russisch + benutzerdefiniertes Verzeichnis und Port
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ru --dir /opt/my-panel --port 8080

# Alte Terminals / GBK-Terminals mit Zeichensalat-Risiko: reine ASCII-Ausgabe (chinesische Hinweise + [ok]-Symbole)
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang zh --ascii

# Arabisch (RTL-Oberfläche)
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ar

Sie können es auch zuerst herunterladen und dann ausführen (interaktiv: fragt nacheinander nach Sprache, Verzeichnis und Upgrade-Bestätigung):

curl -fsSL https://ssheverywhere.com/install.sh -o install.sh && bash install.sh

> Große Cloud-Anbieter (Tencent Cloud / Alibaba Cloud) deaktivieren standardmäßig die root-Anmeldung. Ein ausdrücklich angegebenes --dir wird vorrangig respektiert; nur wenn der aktuelle Benutzer keine Schreibrechte für dieses Verzeichnis hat, wechselt das Skript automatisch in Ihr HOME-Verzeichnis (~/ssh-everywhere) und teilt in der Ausgabe klar mit, „welches Verzeichnis Sie angegeben haben, warum es ersetzt wurde und dass Sie es als root ausführen müssen, um dorthin zu installieren“.

2. Upgrade

Einfach den Installationsbefehl erneut ausführen; das Skript enthält eine Versionsprüfung und meldet eine neue Version zum Upgrade (Daten bleiben erhalten, vollautomatisch):

curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --yes

--yes bedeutet, dass beim Upgrade automatisch bestätigt wird, ohne Interaktion.

3. Deinstallation

Deinstallation im Standardverzeichnis (interaktiv, empfohlen)

curl -fsSL https://ssheverywhere.com/uninstall.sh -o uninstall.sh && bash uninstall.sh

Das Skript listet zuerst die zu entfernenden Inhalte auf und fragt nach einer Bestätigung; erst die Eingabe von yes führt es aus.

Nicht-interaktive / skriptgesteuerte Deinstallation

Mit --yes die Bestätigung überspringen (die Sicherheitsprüfung bleibt erhalten):

curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --yes

Deinstallationsparameter

ParameterBeschreibung
--dir <Verzeichnis>Installationsverzeichnis (Standard /opt/ssh-everywhere, bei geändertem Verzeichnis zwingend anzugeben)
--keep-datadata (Serverkonfiguration / Datenbank) vor der Deinstallation als tar-Paket sichern
--yesDeinstallation im nicht-interaktiven Modus bestätigen

4. Wie deinstalliere ich, wenn ich das Installationsverzeichnis geändert habe? (Schwerpunkt)

Wurde bei der Installation das Verzeichnis per --dir geändert, muss bei der Deinstallation dasselbe --dir angegeben werden, sonst findet das Skript das Installationsverzeichnis nicht und bricht automatisch ab (ein Sicherheitsschutz gegen versehentliches Löschen).

Verzeichnispfad ohne Leerzeichen

curl -fsSL https://ssheverywhere.com/uninstall.sh -o uninstall.sh && bash uninstall.sh --dir /opt/my-panel

Pipe-Variante (--dir hinter bash -s --):

curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --dir /opt/my-panel --yes

Verzeichnispfad mit Leerzeichen

Enthält der Verzeichnisname ein Leerzeichen, muss der gesamte Pfad in doppelte Anführungszeichen gesetzt werden, sonst zerlegt die Shell den Pfad in zwei Teile und das Skript findet das Verzeichnis nicht:

bash uninstall.sh --dir "/opt/my panel"

Bei der Pipe-Variante analog (Anführungszeichen um den gesamten Pfad, nicht nur um einen Teil davon):

curl -fsSL https://ssheverywhere.com/uninstall.sh | bash -s -- --dir "/opt/my panel" --yes

Daten behalten und dann deinstallieren

bash uninstall.sh --dir /opt/my-panel --keep-data

data (Serverkonfiguration / Datenbank) wird nach <Installationsverzeichnis>-data-backup-<Zeitstempel>.tar.gz gesichert und kann nach der Deinstallation wiedergefunden werden.

> 💡 Empfehlung: Vermeide bereits bei der Installation Leerzeichen im Verzeichnisnamen und nutze Binde- oder Unterstriche (z. B. my-panel, my_panel) – das erspart dir den Ärger mit Anführungszeichen.

5. Sicherheitshinweise

Das Deinstallationsskript enthält drei Schutzschichten gegen versehentliches Löschen:

1. Prüfung auf absoluten Pfad – relative Pfade werden abgelehnt.

2. Blacklist kritischer Systemverzeichnisse – /, /root, /etc, /usr, /var usw. werden abgelehnt.

3. Fingerabdruck-Prüfung des Installationsverzeichnisses – gelöscht wird nur, wenn VERSION und app.py zugleich vorhanden sind, sonst wird abgebrochen.

> Die Deinstallation entfernt nur das Panel selbst; Agents auf Zielservern/Geräten sind nicht betroffen (nach dem Löschen des Panels werden sie als offline angezeigt).