sábado, 9 de noviembre de 2013

¿Cómo administro un equipo remotamente con la Terminal?

En una entrevista durante el año 1973 prestada en el Honorable Congreso de la Nación, Juan Perón se expresa sobre las características de una buena Conducción y sobre cómo administrar desde la Terminal un equipo servidor remoto Linux.

¡Distinguidos señores!

Muchas veces me han preguntado cómo es que alguien puede fungir tres veces de Presidente en una nación como la Argentina, y yo respondo que es fácil, simplemente porque soy un Conductor.

Como político no soy más que un aficionado, lo que verdaderamente soy es un Conductor. Mientras otros intentan vadear el río, yo navego sobre él, y esto es así porque durante toda mi vida me he formado para Conducir a los hombres en un Movimiento que no hace otra cosa que interpretar sus propios deseos, y hacer por reflejo lo que el Pueblo quiere.
La Conducción es algo que se aprende, pero más que eso se comprende. Y para lograr comprensión de algo, es necesario que hacerlo. La Conducción se basa en la realización de una tarea: hacer que otros lo hagan y que le den a usted el cŕedito.

Ahora bien, ¿cómo puedo llevar a cabo el Arte de la Conducción de forma remota en una consola? Pues a través del comando ssh. Este conocido comando me permite iniciar una sesión remota encriptada a otros equipos GNU con Linux en mi área local e incluso remotamente.

De no tenerlo en mi sistema, lo instalaré abriendo una terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

sudo apt-get install openssh-client openssh-server

Para conectarme, simplemente he de ingresar:

ssh usuario@host

Por ejemplo, si estoy en una red LAN, podría conectarme a otro equipo ingresando:

ssh peron@computadora3.local

Tanto en redes locales como a través de internet, podría utilizar una dirección IP:

ssh peron@192.168.48

Indudablemente el sistema SSH es cifrado, por lo cual nos solicitará si deseamos etablecer conexión cifrada. Tras responder yes, el equipo remoto nos autorizará y podremos controlarlo por medio de la consola.

Ahora bien, hay paquetes de software libre que constituyen una ayudan irremplazable en este las tareas de Conducción de nuestro sistema local y de otros remotos. Son aquellos que nos dan estadísticas del funcionamiento del equipo, y nos permiten gracias a ello, tener una visión completa de lo que está aconteciendo. La ventaja de estas herramientas es que no necesitan un entorno gráfico para funcionar con eficacia, y al consumir muy pocos recursos, pueden utilizarse remotamente en una Terminal.


Para instalar todos estos paquetes podremos recurrir - dentro de una sesión de consola Terminal en el equipo que deseamos administrar - al siguiente Comando de Organización:

sudo apt-get install htop dstat bmon sysstat iftop ifstat iptraf mc iotop glances

Pues bien, una vez finalizada la tarea de descarga e instalación, nos encontraremos con una panoplia de herramientas.

htop es una de mis aplicaciones peronistas favoritas, y como las mejores herramientas, es una de las que primero instalo en todos mis equipos.
Nos lista los procesos cargados en la memoria, así como la carga de cada uno de los núcleos de nuestra Unidad Central de Proceso. Nos listará también la carga de la memoria RAM y de la partición de intercambio, junto con un listado general de la cantidad de usuarios adosados a nuestro sistema, el tiempo de encendido, y el promedio de carga. Por otro lado, podremos matar procesos zombies o "colgados" mediante F9, y una serie de opciones interesantes. Saldremos del mismo con F10.

bmon es una herramienta pensada para monitorear el ancho de banda de todos nuestros dispositivos de conexión, ya sea cableados (eth) como inalámbricos (wlan), seriales y paralelos (si los tuviésemos), y el loop general (lo). Básicamente, debemos escoger la interfaz de la lista, y podremos solicitar un velocigrama (obviamente, en modo texto) presionando la tecla "g". Allí se nos graficará los datos recibidos ("TX") y los emitidos ("TX"). Si no aparece, puede que requiera un mayor número de columnas verticales (28 estará bien). Si usamos la tecla "d" podremos ver los detalles de conexión. Para salir presionamos la tecla "q".
ifstat nos muestra un listado simplificado de los kilobitios de entrada y salida de todos los dispositivos. Si uso ifstat -z lista solamente las interfaces utilizadas. Podremos cerrar el programa con Ctrl+c.


dstat nos lista dinámicamente las estadísticas del sistema: su ancho de banda, transferencia de discos, uso de CPU, uso de memoria, y demás. Es un programa notablemente más completo que ifstat. Nos permitirá ver todos los recursos del sistema instantáneamente, incluso podremos monitorear (por medio de plugin incluido y el uso de ACPI) el porcentaje de batería, de velocidad de ventilador, frecuencia de CPU, etc. Es muy útil pues muestra rápidamente las unidades de trabajo, lo cual evita confusiones.
iftop en tanto, escucha el tráfico de red de una interfaz determinada (normalmente eth0), y muestra una tabla del ancho de banda ocupado por cada solicitud. También nos indicará la distribución entre datos recibidos ("RX") y emitidos ("TX"). Este programa, al interceptar y mostrar las IP, ha de usarse con permisos de administrador, de lo contrario no podrá funcionar:

sudo iftop
iptraf es otro programa ideal para la consola, que es un poco más complejo y por tanto, su funcionamiento no es tan ágil como los anteriores en conexiones remotas, pero sin duda es altamente recomendable disponer de él para una administración y monitoreo completo de todos nuestros dispositivos de red.
Lo ejecutamos con:


sudo iptraf

nmon es otra de las aplicaciones "todo en uno" cuya intención es convertirse en la navaja suiza de la administración de un sistema sin requerir permisos de administrador. En vez de seguir la filosofía UNIX de contar con herramientas individuales, todas se presentan integradas en una pantalla bajo demanda. La tecla h nos mostrará la ayuda, c presentarña la gráfica del uso de los núcleos de nuestra unidad central de proceso. m nos traerá el uso detallado de memoria, n de la red de trabajo, mientras que t replicará el comando top, informando sobre los procesos que consuman mayor cantidad de memoria. Con + y - aumentaremos o disminuiremos el período de refresco de la información. Tendremos algunas opciones más que lo convierten en una aplicación de monitoreo muy útil para dejar encendida todo el tiempo en un servidor.
iotop
IOTop es una herramienta capaz de reportar el uso y velocidad de acceso al disco (tanto en entrada y salida) por cada proceso, y se recomienda para servidores de disco con gran cantidad de usuarios activos a la vez. Es ideal para controlar el acceso las unidades de medios, y con la opción -u detalla el acceso de cada usuario. Se ejecuta con:

sudo iotop

glances
Se trata de una herramienta de monitoreo que se concentra en poder mostrar la mayor cantidad de información en una terminal de 80x24 (serial), pèro se acomodará con información adicional en caso de tener un tamaño mayor. Una vez activado el programa, con la tecla h desplegaremos la ayuda que nos permitirá conocer las amplias funciones de monitorización. Así mismo, podremos abandonarlo con q.

Midnight Commander
Lo bueno no se cambia, y si se puede, se mejora. No caben dudas que el Norton Commander era un excelente programa para un entorno privativo y opresivo, pero llevado al universo multitarea y multiusuario libre, nada puede superar al Midnight Commander de Miguel de Icaza. Se trata de un gestor de archivos y de tareas a dos paneles, compatible con SSH, FTP y varios protocolos de comunicación. Nos permite transferir ficheros y directorios fácilmente a través de SSH, y hacer de forma sencilla todas las tareas generales de mover ficheros. o ejecutamos con el comando:

mc

Esta herramienta sigue la clásica presentación del viejo norton commander. Cada panel tiene cuatro modos principales: Listado (por defecto), Vista Rápida, Información y Árbol.

Con Tab nos movemos entre los paneles, y nos desplazaremos en el árbol de directorios y archivos con las flechas del cursor y Enter. Podremos personalizar el panel Derecho y el Izquierdo para que presenten la misma información o se dispongan allí diferentes rutas.

Una vez que tengamos dos rutas, podremos mover o copiar (F5) archivos entre uno y el otro panel. Con F3 podremos ver un archivo, y mediante F4 modificarlo. Con F5 podremos copiarlo y con F6 moverlo. Con F7 podremos crear un directorio, con el peligroso F8 borrar archivo o directorios. Mediante F9 podremos desplegar la barra de menúes. Salimos del programa con F10.

Lo bueno es que podremos trabajar con archivos simples o en grupos de ellos, pudiendo seleccionar todos los archivos con "*", y sumar o restar ficheros a dicho grupo con "+" y "-".

Sus opciones son muchas, por lo cual los neófitos podrán encontrar una interesante guía de práctica en castellano para el Midnight Commander aquí.


 

5 comentarios:

  1. Buenísimo! Voy a ponerme a meter mano un rato.
    Alguna de estas aplicaciones me sirve para configurar cosas como el pad de una netbook o lo que le pasa después de suspenderse o algo? a quién le puedo preguntar?

    (no se nada, pero necesito aprender)

    Genial!! gracias

    ResponderEliminar
    Respuestas
    1. Estimado Anónimo:

      Normalmente esas soluciones se pueden efectuar desde la terminal, tanto de manera local como remota.
      Sin embargo, se requiere conocer cuál equipo tiene y cual es la marca del adaptador del touchpad.
      Si abres una consola con ctrl+alt+t, podrás escribir estos comandos:

      lsusb
      (para listar los dispositivos USB)

      lspci
      (para listar los dispositivos PCI, a veces el touchpad suele aparecer en este listado, junto con el adaptador de video o de sonido).

      sudo lshw
      para listar el hardware completo.

      La información que te devuelva el sistema te será util a tí o a terceros para ayudarte a encontrar la solución que tanto anhelas. Normalmente en la comunidad LINUX podrás encontrar blogs, webs y foros oficiales donde podrán ayudarte (este es uno de ellos).

      Atte.

      Juan Perón

      Eliminar
  2. Coincido el.htop es de lo.mejor para monitorear un server remoto.
    Hay diferencia de rendimiento en un vps con ssd por distro? Tengo ubuntu porq lo conozco mejor pero conviene poner un centos por ejemplo?

    ResponderEliminar
    Respuestas
    1. Estimado Nicolás de Mayo:

      Existen variaciones en las herramientas, pero sobre todo las diferencias se encuentran en la compilación específica que permite CentOS, Gentoos, o FreeBSD. Sobre gustos no hay nada escrito. Todos son peronistas.

      Atte.

      Juan Perón

      Eliminar