Shell In A Box: accedi al terminale SSH di Linux tramite browser web
Shell In A Box (pronunciato come shellinabox) è un emulatore di terminale basato sul Web creato da Markus Gutschke. Dispone di un server Web integrato che viene eseguito come client SSH basato sul Web su una porta specificata e richiede un emulatore di terminale Web per accedere e controllare la shell SSH del server Linux in remoto utilizzando qualsiasi AJAX/JavaScript e CSS- browser abilitati senza la necessità di plug-in del browser aggiuntivi come FireSSH.
In questo tutorial, descrivo come installare Shellinabox e accedere a un terminale SSH remoto utilizzando un browser Web moderno su qualsiasi macchina. L'accesso SSH basato sul Web ai server Linux è molto utile quando si è protetti da un firewall e solo il traffico HTTPS può passare.
Installazione di Shellinabox su sistemi Linux
Per impostazione predefinita, lo strumento Shellinabox è incluso nelle distribuzioni Linux basate su Debian tramite repository predefiniti utilizzando il gestore pacchetti predefinito come mostrato.
$ sudo apt install openssl shellinabox

Nelle distribuzioni basate su Red Hat, devi installarlo dall'origine utilizzando i seguenti comandi.
# yum install git openssl-devel pam-devel zlib-devel autoconf automake libtool # git clone https://github.com/shellinabox/shellinabox.git && cd shellinabox # autoreconf -i # ./configure && make
Configurazione di Shellinabox nei sistemi Linux
Per impostazione predefinita, shellinaboxd è in ascolto sulla porta TCP 4200 su localhost. Per motivi di sicurezza, cambio questa porta predefinita in una casuale (ad esempio 6175) per rendere difficile a chiunque raggiungere la tua casella SSH.
Inoltre, durante l'installazione, viene creato automaticamente un nuovo certificato SSL autofirmato in /var/lib/shellinabox per utilizzare il protocollo HTTPS.
$ sudo vi /etc/default/shellinabox OR $ sudo nano /etc/default/shellinabox
Apportare le modifiche alla configurazione come mostrato di seguito...
# Should shellinaboxd start automatically SHELLINABOX_DAEMON_START=1 # TCP port that shellinboxd's webserver listens on SHELLINABOX_PORT=6175 # Parameters that are managed by the system and usually should not need # changing: # SHELLINABOX_DATADIR=/var/lib/shellinabox # SHELLINABOX_USER=shellinabox # SHELLINABOX_GROUP=shellinabox # Any optional arguments (e.g. extra service definitions). Make sure # that that argument is quoted. # # Beeps are disabled because of reports of the VLC plugin crashing # Firefox on Linux/x86_64. SHELLINABOX_ARGS="--no-beep" # specify the IP address of an SSH server OPTS="-s /:SSH:192.168.0.140" # if you want to restrict access to shellinaboxd from localhost only OPTS="-s /:SSH:192.168.0.140 --localhost-only"
Una volta terminata la configurazione, puoi riavviare e verificare il servizio shellinabox emettendo i seguenti comandi.
$ sudo systemctl restart shellinabox $ sudo systemctl status shellinabox

Ora verifichiamo se Shellinabox è in esecuzione sulla porta 6175 utilizzando il comando netstat.
$ sudo netstat -nap | grep shellinabox

Assicurati di proteggere la tua shellinabox sul firewall e apri la porta 6175 per un indirizzo IP specifico per accedere alla tua shell Linux da remoto.
------- On Debian, Ubuntu and Mint ------- $ sudo ufw allow 6175/tcp $ sudo ufw allow from 192.168.0.103 to any port 6175 ------- On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux ------- $ sudo firewall-cmd --zone=public --add-port=6175/tcp $ sudo firewall-cmd --zone=public --add-source=192.168.0.103/6175 --permanent
Accedi al terminale Linux SSH tramite browser web
Ora apri il tuo browser web e vai a https://Your-IP-Adress:6175. Dovresti essere in grado di vedere un terminale SSH basato sul web. Accedi usando il tuo nome utente e password e ti dovrebbe essere presentato il prompt della shell.


Puoi fare clic con il pulsante destro del mouse per utilizzare diverse funzionalità e azioni, inclusa la modifica dell'aspetto della tua shell.

Per ulteriori informazioni, visitare la pagina github ufficiale di Shellinabox.