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.
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.