ACCEDE AL TERMINAL DE TU SERVIDOR MEDIANTE EL NAVEGADOR WEB

SHELLINABOX

Shellinabox implementa un servidor web que puede exportar herramientas de líneade comandos a un emulador de terminal basado en la webEste emulador es accesible desde cualquier navegador que soporte JavaScript y CSS y no requiereningún tipo de plugin adicional para funcionar.
Aunque el proyecto original fue descontinuado, hay un fork en Github que nos permite instalarlo si no lo tenemos en los repositorios. En el caso de Ubuntu 14.04 está, así que solo tenemos que abrir un terminal y poner:
$ sudo apt install shellinabox openssl ca-certificates
En el caso de los últimos dos paquetes es por si no los tenemos ya instalados. Y una vez hecho esto pues ya podemos acceder a nuestro terminal en la web poniendo en el navegador:
http://la_ip_o_nombre_del_servidor:4200
Shellinabox

USAR SHELLINABOX POR EL PUERTO 80

Como pueden apreciar, por defecto Shellinabox usa el puerto 4200 y es posible que no podamos acceder a él si nuestro proveedor de servicios lo tiene bloqueado. Podemos usar una variante que es poco segura pero funciona, que es usar Shellinabox por el puerto 80, aunque después mostraré como usar el 443 si lo tenemos disponible.
Lo que haremos será acceder a Shellinabox al poner en nuestro navegador:
http://la_ip_o_nombre_del_servidor/terminal
Para ello lo primero que hacemos es instalar NGinx:
$ sudo apt install nginx
Ahora creamos el fichero /etc/nginx/sites-enabled/shellinabox y le ponemos adentro:
server {
proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location /terminal/ { proxy_pass http://localhost:4200/; } }
Editamos el fichero /etc/default/shellinabox y ponemos al final:
SHELLINABOX_ARGS="--localhost-only --disable-ssl"
Reiniciamos NGinx y Shellinabox:
$ sudo /etc/init.d/shellinabox restart
$ sudo /etc/init.d/nginx restart
Y listo!!

USAR SHELLINABOX POR EL PUERTO 443

Este proceso es un poco más engorroso, porque tenemos que crear nuestros certificados SSL. Para ello haremos lo siguiente:
Primero instalamos OpenSSL:
$ sudo apt-get install openssl
Creamos una llave privada:
openssl genrsa -out server.key 2024
Creamos la base del certificado, donde pondremos una serie de datos:
openssl req -new -key server.key -out server.csr
Los datos que llenaremos serán:
  • Country Name (2 letter code): Código de país en formato ISO de dos letras (ej: ES, US, CU, MX..).
  • State or Province Name (full name): Estado o provincia (ej: Florida).
  • Locality Name: Localidad o ciudad (ej: Miami).
  • Organization Name: Nombre de la organización, (ej: DesdeLinux).
  • Organizational Unit Name: Sector de la organización (ej: Blogs).
  • Common Name: Nombre del dominio ó FQDN. Es importante conocer que hay una diferencia entre blog.desdelinux.net y desdelinux.net. Debes registrar el certificado para uno, o para el otro.
  • Email Address: Dirección de correo de contacto.
  • A challenge password: En blanco.
  • An optional company name: En blanco.
Ahora generamos el certificado SSL, que nos tomará los datos que pusimos:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Copiamos los certificados a la carpeta SSL dentro de /etc:
$ sudo cp server.crt /etc/ssl/certs/ssl.crt
$ sudo cp server.key /etc/ssl/certs/ssl.key
Volvemos a editar el fichero el fichero /etc/default/shellinabox y cambiamos lo que habíamos puesto, poniendo al final:
SHELLINABOX_ARGS="--no-beep"
Ahora editamos el fichero /etc/nginx/sites-enabled/shellinabox y le ponemos adentro:
 server {
    listen 80;
    return 301 https://$host$request_uri;
}

server {

    listen 443;
    server_name myvps.com;

    ssl_certificate           /etc/ssl/certs/ssl.crt;
    ssl_certificate_key       /etc/ssl/certs/ssl.key;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log            /var/log/nginx/shellinabox.access.log;

    location /terminal {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      # Fix the “It appears that your reverse proxy set up is broken" error.
      proxy_pass          http://localhost:4200/;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:4200 https://myvps.com/terminal/;
    }
  }

Reiniciamos los servicios:
$ sudo /etc/init.d/shellinabox restart
$ sudo /etc/init.d/nginx restart
y accedemos a
http://la_ip_o_nombre_del_servidor/terminal
lo cual debe redireccionarnos a:
https://la_ip_o_nombre_del_servidor/terminal
ACCEDE AL TERMINAL DE TU SERVIDOR MEDIANTE EL NAVEGADOR WEB ACCEDE AL TERMINAL DE TU SERVIDOR MEDIANTE EL NAVEGADOR WEB Reviewed by PDFREEBOOK on 8:19 Rating: 5

No hay comentarios

Los Comentarios emitidos en cada uno de los contenidos deberan ajustarse al tema tratado durante el post de lo contrario sera Eliminado