GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo ejecutar comandos de Shell a través del servidor HTTP

Hoy vamos a hablar sobre una utilidad interesante y útil llamada "shell2http" que se puede usar para ejecutar comandos de shell a través del servidor http. Puede ejecutar cualquier comando en su caja de Linux y enviar el resultado a su colega o amigo en la red local para revisarlo. Él/ella puede ver la salida en un navegador web. Esta herramienta puede ser útil si no desea otorgar acceso SSH a su amigo. Simplemente pregúntele qué salida del comando le gustaría ver, y ejecute ese comando en su sistema local y permítale verlo en su navegador web desde cualquier lugar de la red local. Tu amigo no necesita un acceso SSH para ver los resultados de cualquier salida.

Descargar - Guía gratuita:"Guía de programación del módulo kernel de Linux"

shell2http - Ejecutar comandos de Shell a través del servidor HTTP

shell2http se puede descargar desde el siguiente enlace dependiendo de la distribución que utilice. Admitirá GNU/Linux, Windows y Mac OS X.

  • Descargar shell2http

O ejecuta los siguientes comandos para descargarlo desde la Terminal:

Asegúrese de haber instalado el descargador de línea de comandos wget y herramienta de compresión descomprimir .

En sistemas basados ​​en RPM, ejecute el siguiente comando como usuario root para instalarlos.

$ yum install wget unzip

En sistemas basados ​​en DEB, ejecute:

$ sudo apt-get install wget unzip

Para descargar shell2 de 64 bitshttp:

$ wget https://github.com/msoap/shell2http/releases/download/1.7/shell2http-1.7.linux.amd64.zip

Para descargar shell de 32 bitshttp:

$ wget https://github.com/msoap/shell2http/releases/download/1.7/shell2http-1.7.linux.386.zip

Extraiga el archivo comprimido en cualquier ubicación de su elección.

$ unzip shell2http-1.7.linux.xxx.zip

Vaya a la carpeta extraída y comience a usar shell2http.

Digamos que su amigo quiere ver la versión Linux Kernel instalada en su sistema.

Para hacerlo, ejecute:

$ shell2http -host 192.168.1.150 -port 8080 /kernel "uname -r"

Aquí, 192.168.1.150 es la dirección IP de su sistema local. 8080 es el número de puerto. /núcleo - es la ruta para ver la salida del comando. Y "uname -r" es el comando para mostrar la versión del Kernel de su sistema.

Salida de muestra:

2017/02/03 14:57:21 register: /kernel (uname -r)
2017/02/03 14:57:21 listen http://192.168.1.150:8080/

Probablemente necesite abrir el puerto "8080" en su firewall o enrutador. En los sistemas que usan firewalld (por ejemplo, RHEL, CentOS), ejecute el siguiente comando como usuario raíz para abrir el puerto 8080:

# firewall-cmd --add-port=8080/tcp --permanent

Reinicie el servicio firewalld usando el comando:

# firewall-cmd --reload

En los sistemas Debian y Ubuntu, ejecute:

$ sudo ufw allow 8080

Solo asegúrese de que el puerto 8080 no haya sido utilizado por ninguna otra aplicación. Si es así, mencione un puerto diferente en el comando y permita ese puerto a través del firewall también.

Ahora, dígale a su amigo que abra su navegador web y apunte a "http://dirección IP:8080/kernel" o "http://nombre de host:8080/kernel" . Así de simple.

Salida de muestra:

Si su amigo quiere analizar el uso del disco, simplemente ejecute el siguiente comando en su sistema local.

$ shell2http -host 192.168.1.150 -port 8080 /diskusage "du -h"

Y pídale que abra el camino:http://IP-address:8080/diskusage en su navegador web.

Para salir del comando, presione CTRL+C .

Bastante útil, ¿no? ¡Claro que lo es!

También puede combinar dos comandos y enviar los resultados a su amigo como se muestra a continuación.

En el siguiente ejemplo, voy a ejecutar du y ps comandos y enviar la salida al servidor http.

$ shell2http /diskspace "df -h" /ps "ps aux"2017/02/03 15:09:34 register: /diskspace (df -h)

Salida de muestra:

2017/02/03 15:09:34 register: /ps (ps aux)
2017/02/03 15:09:34 listen http://:8080/

¿Notaste el comando anterior? No mencioné la dirección IP de mi sistema. shell2http funcionará sin mencionar la dirección IP o el nombre de host también.

Ahora, su amigo puede ver la salida del espacio en disco desde la URL - http://dirección-IP:8080/espacio-en-disco y vea el resultado del comando "ps" usando la URL - http://dirección-IP:8080/ps .

Salida de espacio en disco:

Salida del comando PS:

Descargo de responsabilidad: Utilice la herramienta shell2http con precaución solo dentro de su red de confianza. Su servidor puede verse comprometido fácilmente si no tomó las precauciones necesarias.


Linux
  1. ¿Cómo ejecutar un comando en Shell sin guardarlo en el historial? [Consejos para Linux]

  2. ¿Cómo eliminar las primeras/últimas líneas 'n' de la salida del comando en Shell?

  3. ¿Cómo asignar la salida de un comando a una variable de shell?

  4. ¿Cómo saber si la salida de un comando o script de Shell es Stdout o Stderr?

  5. ¿Cómo ejecutar comandos en Gnuplot usando Shell Script?

Cómo redirigir HTTP a HTTPS en Nginx

Cómo ejecutar un comando de Shell con Python

Cómo ejecutar automáticamente secuencias de comandos y comandos de inicio de Linux

Cómo redirigir la salida del comando de shell

¿Cómo ejecutar un comando en un script de Shell?

Cómo SSH al servidor a través de Linux