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