En este tutorial veremos cómo instalar Shellinabox (Pronunciado como "Shell In A Box") para el acceso remoto a la terminal SSH de Linux utilizando navegadores web habilitados para AJAX/JavaScript y CSS. Asumiendo que su servidor Linux está habilitado con Firewall y permite solo los puertos necesarios (dice HTTP(s)), entonces Shellinabox es una solución ideal para proporcionar a los usuarios un terminal Shell basado en web.
Instalando Shellinabox en Linux
Por defecto, Shellinabox El paquete está incluido en todos los repositorios de distribución de Linux, incluidos Debian, Ubuntu y CentOS. Asegúrese de que su repositorio esté habilitado y disponible para instalar shellinabox.
En Debian y Ubuntu
root@ubuntu:~# apt-cache search shellinabox shellinabox - publish command line shell through AJAX interface root@ubuntu:~#
root@ubuntu:~# apt-get install shellinabox Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: shellinabox .... .... Setting up shellinabox (2.14-1) ... Processing triggers for ureadahead (0.100.0-16) ... root@ubuntu:~#
En RHEL, CentOS y Fedora
Configure el repositorio de yum en distribuciones basadas en RedHat. A continuación, debe configurar el repositorio EPEL:
Cómo habilitar EPEL Repo:
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
[root@centos export]# rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Luego instale shellinabox usando el siguiente yum comando.
#yum install shellinabox Loaded plugins: security Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package shellinabox.x86_64 0:2.14-27.git88822c1.el5 set to be updated --> Finished Dependency Resolution .... .... .... Complete!
Configurar Shellinabox
Caja Shellina tiene un servidor web incorporado que se ejecuta como un cliente SSH basado en la web y escucha en el puerto 4200. Por razones de seguridad, puede cambiar este puerto predeterminado a un puerto aleatorio (por ejemplo:4312 o el que sea gratuito). De forma predeterminada, se crea automáticamente un nuevo certificado SSL autofirmado en “/var/lib/shellinabox ” para usar el protocolo HTTPS.
Cómo encontrar qué puerto está libre
#telnet localhost <port_no>
or
#netstat -anp | grep <port_no>
En Debian y Ubuntu
#vim /etc/default/shellinabox
# TCP port that shellinboxd's webserver listens on SHELLINABOX_PORT=4200
En RHEL, CentOS y Fedora
# vi /etc/sysconfig/shellinaboxd
# TCP port that shellinboxd's webserver listens on PORT=4200
Iniciar el demonio de servicio de Shellinabox
Una vez completada la configuración, puede iniciar el servicio emitiendo el siguiente comando:
En Debian y Ubuntu
#service shellinabox start
En RHEL y CentOS
#service shellinaboxd start
Verificar el Servicio
Compruebe si el servicio se ha iniciado correctamente y escucha en el puerto 4200 (el puerto puede ser diferente según la configuración anterior) usando netstat comando como se muestra a continuación:
root@ubuntu:# netstat -anp | grep shellinabox tcp 0 0 0.0.0.0:4200 0.0.0.0:* LISTEN 31331/shellinaboxd
Cómo usar Shellinabox en el navegador
Abra su navegador web y vaya a https://server-ip:4200 . Ahora debería poder ver un terminal SSH basado en la web, como se muestra a continuación, solicitando el inicio de sesión. Puede iniciar sesión con su nombre de usuario y contraseña de SSH y, si tiene éxito, se le presentará un indicador de shell.
Al cerrar la sesión: