Documentazione

Avvio rapido + descrizione di ogni funzione per ogni sezione e dispositivo (in continuo aggiornamento)

Installazione e disinstallazione

Questo documento spiega in dettaglio come installare, aggiornare e disinstallare il pannello SSH Everywhere, con particolare attenzione a «come disinstallare dopo aver cambiato la directory di installazione» e ai dettagli di formato nei comandi (spazi, virgolette).

1. Installazione (un solo comando)

Esegui su un server Linux con IP pubblico:

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

Lo script esegue automaticamente: rilevamento del sistema → installazione delle dipendenze (Python3 / venv / pip / git / curl) → download del codice → creazione dell'ambiente virtuale → installazione delle dipendenze Python → registrazione e avvio del servizio systemd.

Supporta Debian / Ubuntu / CentOS / Rocky / AlmaLinux / Fedora / WSL (senza systemd passa automaticamente all'esecuzione in background).

Parametri di installazione

ParametroDescrizioneEsempio
--lang <codice>Lingua dei messaggi + lingua predefinita del pannello (per impostazione predefinita viene rilevata automaticamente dal locale di sistema; accetta anche il numero 1-16)--lang ja
--dir <directory>Directory di installazione (predefinita /opt/ssh-everywhere; se non è scrivibile passa automaticamente a ~/ssh-everywhere spiegandolo nell'output)--dir /opt/my-panel
--port <porta>Porta del pannello (predefinita 5501)--port 8080
--asciiForza l'output con soli simboli ASCII ([ok] / [..] / [!] / [x]), nessun carattere illeggibile su qualsiasi terminale--ascii
--unicodeForza l'output con simboli Unicode (✓ ⟳ ⚠️ ❌); in ambiente UTF-8 è già il comportamento predefinito--unicode
--yes / -yConferma automatica durante l'aggiornamento, senza interazione--yes

Codici lingua supportati (16)

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

Se --lang non viene passato, la lingua viene rilevata automaticamente dal locale di sistema (ad esempio LANG=ja_JP.UTF-8 → messaggi in giapponese). Quando il locale del server o del terminale non è UTF-8 (LANG=C è comune nelle immagini cloud minimali dei grandi provider), lo script passa automaticamente ai simboli ASCII puri [ok] e, se la lingua non è specificata esplicitamente, riporta anche i testi dei messaggi in inglese spiegando il motivo all'inizio: tutto questo per evitare qualsiasi carattere illeggibile. Per forzare la tua lingua usa: --lang xx --unicode.

Per passare i parametri tramite pipe occorre aggiungere bash -s --:

# Messaggi in giapponese + pannello in giapponese
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ja

# Messaggi in russo + directory e porta personalizzate
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ru --dir /opt/my-panel --port 8080

# Terminale vecchio / terminale GBK a rischio di caratteri illeggibili: output solo ASCII (messaggi in cinese + simboli [ok])
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang zh --ascii

# Arabo (interfaccia RTL)
curl -fsSL https://ssheverywhere.com/install.sh | bash -s -- --lang ar

Puoi anche scaricarlo prima e poi eseguirlo (modalità interattiva: chiederà passo passo lingua, directory e conferma dell'aggiornamento):

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

> Nei grandi cloud (Tencent Cloud / Alibaba Cloud) l'accesso root è disattivato per impostazione predefinita. Il --dir passato esplicitamente ha la priorità; solo se l'utente corrente non ha i permessi di scrittura su quella directory lo script passa automaticamente alla tua directory HOME (~/ssh-everywhere) e indica chiaramente nell'output «quale directory hai passato, perché è stata sostituita e che per installare lì devi eseguire come root».

2. Aggiornamento

Basta rieseguire il comando di installazione: lo script include il controllo di versione e, se trova una nuova versione, propone l'aggiornamento (dati conservati, tutto automatico):

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

--yes conferma automaticamente l'aggiornamento, senza interazione.

3. Disinstallazione

Disinstallazione nella directory predefinita (interattiva, consigliata)

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

Lo script elenca prima cosa verrà rimosso e chiede conferma: solo digitando yes procede.

Disinstallazione non interattiva / in script

Aggiungi --yes per saltare la conferma (i controlli di sicurezza restano attivi):

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

Parametri di disinstallazione

ParametroDescrizione
--dir <directory>directory di installazione (predefinita /opt/ssh-everywhere, obbligatoria se l'hai cambiata)
--keep-dataprima di disinstallare, salva data (configurazione server / database) in un archivio tar
--yesconferma la disinstallazione in modalità non interattiva

4. Come disinstallare se hai cambiato la directory di installazione? (punto chiave)

Se in fase di installazione hai cambiato la directory con --dir, in fase di disinstallazione devi indicare lo stesso --dir, altrimenti lo script non trova la directory di installazione e si interrompe automaticamente (è una protezione di sicurezza per evitare cancellazioni accidentali).

Percorso senza spazi

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

Modalità pipe (--dir dopo bash -s --):

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

Percorso con spazi

Se il nome della directory contiene spazi, devi racchiudere l'intero percorso tra virgolette doppie, altrimenti la shell spezza il percorso in due parti e lo script non trova la directory:

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

Stessa cosa in modalità pipe (le virgolette racchiudono tutto il percorso, non solo una parte):

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

Conservare i dati prima di disinstallare

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

data (configurazione server / database) viene salvato in <directory-di-installazione>-data-backup-<timestamp>.tar.gz, recuperabile dopo la disinstallazione.

> 💡 Consiglio: evita gli spazi nei nomi di directory già in fase di installazione e usa trattini o underscore (come my-panel, my_panel): ti risparmierai i fastidi delle virgolette.

5. Note di sicurezza

Lo script di disinstallazione include tre livelli di protezione per evitare cancellazioni accidentali:

1. Verifica del percorso assoluto —— rifiuta i percorsi relativi.

2. Blacklist delle directory critiche di sistema —— rifiuta /, /root, /etc, /usr, /var ecc.

3. Verifica dell'impronta della directory di installazione —— elimina solo se sono presenti sia VERSION sia app.py, altrimenti si interrompe.

> La disinstallazione rimuove solo il pannello stesso; gli Agent sui server / dispositivi di destinazione non sono toccati (dopo la rimozione del pannello risulteranno offline).