Shell In A Box: un terminal SSH basat en web per accedir a servidors Linux remots


Shell In A Box (pronunciat com a shellinabox) és un emulador de terminal basat en web creat per Markus Gutschke. Té un servidor web integrat que s'executa com a client SSH basat en web en un port especificat i us demana un emulador de terminal web per accedir i controlar el vostre servidor Linux SSH Shell de forma remota mitjançant qualsevol navegador habilitat AJAX/JavaScript i CSS sense necessitat de qualsevol complement addicional del navegador, com ara FireSSH.

En aquest tutorial, descric com instal·lar Shellinabox i accedir al terminal SSH remot mitjançant un navegador web modern a qualsevol màquina. SSH basat en web és molt útil quan esteu protegits amb un tallafoc i només el trànsit HTTP(s) pot passar.

Instal·lació de Shellinabox a Linux

De manera predeterminada, l'eina Shellinabox s'inclou a moltes distribucions de Linux mitjançant repositoris predeterminats, inclosos Debian, Ubuntu i Linux Mint.

Assegureu-vos que el vostre dipòsit estigui habilitat i disponible per instal·lar Shellinabox des d'aquest dipòsit. Per comprovar-ho, cerqueu Shellinabox amb l'ordre apt-cache i després instal·leu-lo mitjançant l'ordre apt-get. \\

$ sudo apt-cache search shellinabox
$ sudo apt-get install openssl shellinabox

A les distribucions basades en Red Hat, primer heu d'habilitar el repositori EPEL i després instal·lar-lo mitjançant la següent comanda yum. (els usuaris de Fedora no necessiten habilitar EPEL, ja forma part del projecte Fedora).

# yum install openssl shellinabox

Configuració de Shellinabox

De manera predeterminada, shelinaboxd escolta al port TCP 4200 a localhost. Per motius de seguretat, canvio aquest port predeterminat a un aleatori (és a dir, 6175) per dificultar que ningú pugui accedir a la vostra caixa SSH. A més, durant la instal·lació, un nou certificat SSL autofirmat es crea automàticament a /var/lib/shellinabox per utilitzar el protocol HTTPS.

$ sudo vi /etc/default/shellinabox
# TCP port that shellinboxd's webserver listens on
SHELLINABOX_PORT=6175

# specify the IP address of a destination SSH server
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125"

# if you want to restrict access to shellinaboxd from localhost only
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125 --localhost-only"
# vi /etc/sysconfig/shellinaboxd
# TCP port that shellinboxd's webserver listens on
PORT=6175

# specify the IP address of a destination SSH server
OPTS="-s /:SSH:172.16.25.125"

# if you want to restrict access to shellinaboxd from localhost only
OPTS="-s /:SSH:172.16.25.125 --localhost-only"

S'està iniciant Shellinabox

Un cop hàgiu acabat amb la configuració, podeu iniciar el servei emetent la següent comanda.

$ sudo service shellinaboxd start
# service shellinaboxd start
# systemctl enable shellinaboxd.service
# systemctl start shellinaboxd.service

Verifiqueu Shellinabox

Ara verifiquem si Shellinabox s'està executant al port 6175 mitjançant l'ordre netstat.

$ sudo netstat -nap | grep shellinabox
or
# netstat -nap | grep shellinabox
tcp        0      0 0.0.0.0:6175            0.0.0.0:*               LISTEN      12274/shellinaboxd

Ara obriu el vostre navegador web i navegueu a https://Your-IP-Address:6175. Hauríeu de poder veure un terminal SSH basat en web. Inicieu la sessió amb el vostre nom d'usuari i contrasenya i se us hauria de presentar el missatge de l'intèrpret d'ordres.

Podeu fer clic amb el botó dret del ratolí per utilitzar diverses funcions i accions, com ara canviar l'aspecte i la sensació del vostre shell.

Assegureu-vos de protegir el vostre shellinabox al tallafoc i obrir el port 6175 per a una adreça IP específica per accedir al vostre shell de Linux de manera remota.

Enllaços de referència

Pàgina d'inici de Shellinabox