Ejecución remota en Linux y salida local en Windows

¿Cómo ejecutar un comando remoto en un servidor linux y obtener su salida en una archivo local en windows?

Ojo que no solamente vamos a “ver” la salida en un emulador de terminal, como Putty u otro, en local, sino que buscaremos que la salida sea escrita en un archivo local.

En una ocasión me vi enfrentado a la siguiente problemática, debía realizar el análisis en tiempo real de un log de una aplicación que estaba escribiendo constantemente (500kb x minuto aprox.) Todo bien hasta aquí, el problema es lo siguiente:

  • Solo tengo acceso remoto a ese log a través de ssh y haciendo sudo a otro usuario para poder leerlo.
  • No tengo permiso de instalación sobre el servidor remoto que guarda el log.
  • Accedo al log desde windows a través de putty.

Mi idea era traer el log a un archivo local en mi entorno en Windows y ahí analizarlo con Kibana, una herramienta de análisis de logs en tiempo real (a mi gusto mejor que Splunk), para identificar patrones, graficar estadísticas, etc.

Para traerme el log necesitaria alguna shell o aplicación que haga algo así como:

Después de probar algunos comandos y googlear sobre el tema encontré lo que necesitaba:

He usado la herramienta PuTTYLink (plink.exe) del conjunto de herramientas de PuTTY.

Esta herramienta te permite ejecutar comandos en un servidor remoto y direccionar la salida de modo local. Básicamente el comando sería algo así:

De este modo escribo la salida del tail -f del ArchivoRemoto.log al Archivolocal.log en mi sistema de archivos local, luego este archivo local lo puedo tratar con herramientas de análisis de logs como Kibana.

Hubiera sido muy distinto si fuera entre sistemas linux o si pudiera instalar herramientas en el servidor remoto o mejor aún contar con un servidor de syslog desde donde stremearme el archivo para consumirlo, pero tenía las limitaciones que comentaba al principio del post y bueno hay que saber jugar en cualquier cancha como dicen por ahí.

De todas maneras si alguien conoce otra forma de resolverlo o alguna herramienta que lo permita, por favor comenten para ver si se puede mejorar esta solución básica que he encontrado.

Espero esto le sea de ayuda a alguien más.

NOTA: Este post lo escribí basándome en un post que realicé hace un tiempo en el foro de elhacker.net: Traeme log remoto a archivo local para análisis en tiempo real

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *