¿Qué es SSH?
Secure Shell (SSH) es un protocolo e interfaz de comandos para acceder de forma segura a un equipo remoto. Los administradores de red lo usan con frecuencia para administrar servidores web y otros tipos de servidores de forma remota. Los datos y comandos transferidos por SSH están cifrados y protegidos de varias maneras. Ambos extremos de la conexión cliente/servidor se autentican con un certificado digital y las contraseñas están cifradas. Para enviar una solicitud al servidor por Secure Shell, el daemon SSH (aplicación o servicio del servidor) debe estar instalado y en ejecución allí.
SSH en Windows
Por defecto, SSH está disponible en sistemas operativos tipo UNIX. Sin embargo, también puede conectarse a un servidor Windows por SSH. Existen varios servidores SSH populares para Windows. Un ejemplo es Cygwin, que se instala como servicio en el sistema. Entre los clientes SSH para Windows destaca PuTTY. Se distingue por una interfaz amigable y un amplio conjunto de funciones, incluida la configuración de servidores proxy y el guardado de ajustes de conexión. A partir de Windows 10 (versión 1809 y posteriores) o Windows Server 2019, el sistema incluye un cliente OpenSSH integrado que puede usar para conectarse a dispositivos remotos. Puede instalarlo en la sección Applications & Features:
- Settings -> Applications -> Optional features -> Add a feature.
- Busque OpenSSH Client en la lista y haga clic en Install.
Para conectarse a un host remoto por SSH, abra PowerShell o cmd.exe. Introduzca el comando:
ssh username@host
Por ejemplo, para conectarse a un host Linux con dirección IP 192.168.1.100 como root, ejecute:
ssh root@192.168.1.100
La primera vez que se conecte, se le pedirá agregar la clave del host como confiable: escriba yes y pulse Enter. Después se le solicitará la contraseña de la cuenta indicada. Introduzca la contraseña de root y pulse Enter. Se abrirá la consola del host Linux remoto, en la que ya puede trabajar y ejecutar comandos.
Monitoreo de parámetros de host vía SSH
Con SSH puede monitorear muchos parámetros de un host remoto bajo Linux, Android u otro sistema *nix. SSH permite controlar el sistema operativo de forma remota, incluida la ejecución de scripts y la obtención de información. Mediante una conexión remota por SSH, el programa de monitoreo puede ejecutar scripts y comandos del SO arbitrarios, recibir y procesar el resultado de su ejecución.
A continuación mostramos cómo se configura el monitoreo SSH en 10-Strike Network Monitor (Pro).
Tras instalar el programa, puede escanear la red y agregar los hosts encontrados a la lista de monitoreo, o crearlos manualmente. Agregue un host Linux a la lista (Hosts -> Add host):
Por defecto, para cada host nuevo se crea una comprobación ICMP ping que le permite monitorear su disponibilidad en la red. Creemos la segunda comprobación para monitorear SSH (Checks -> Add check):
El programa ya incluye varias plantillas que facilitan la configuración de la comprobación:
- monitoreo de RAM libre/ocupada
- monitoreo de carga media de CPU por minuto, 5 y 15 minutos (CPU Load)
- monitoreo de espacio libre en discos indicados
Para monitorear otros parámetros, puede usar comandos personalizados y scripts bash que se ejecutarán en el equipo remoto y devolverán parámetros al programa vía SSH. Por ejemplo, con el comando
cat /proc/15410/status |grep -i VMSIZE | awk '{print "result=",$2}'
puede obtener la cantidad de memoria ocupada por el proceso con PID 15410. Al hacer clic en Get, puede comprobar el funcionamiento del script o comando. Si la solicitud es exitosa, el campo junto a él se completará con el resultado.
La respuesta de un script o comando debe comenzar con la línea
result=
Use la sintaxis:
| awk '{print "result=",$1}'
$1 es el número del parámetro devuelto en la respuesta.
En el ejemplo:
/bin/date "+%F %T" | awk '{print "result=",$1}'
$1 devuelve la fecha, $2 la hora.
Si el parámetro es numérico, el comando o script debe devolver solo el parámetro, sin líneas ni comentarios adicionales. Además de parámetros numéricos, el programa puede analizar líneas y buscar en ellas el texto indicado. Establezca el valor umbral del parámetro en el que la comprobación se considerará aprobada.
Para conectarse por SSH, el host remoto puede requerir un archivo de clave privada. También puede agregarlo al programa en el campo correspondiente. Además, algunos servidores SSH son exigentes con el nombre del terminal y pueden mostrar el error "Unknown terminal type" al conectar. En ese caso, puede indicar el nombre del terminal en la configuración del programa (véase la sección Monitoring). En Linux, puede conocer el nombre del terminal con el comando echo $TERM.
Después de comprobar el script o comando, puede pasar al siguiente paso del asistente de configuración de monitoreo. En la sección Display on Charts, puede convertir el valor recibido por el script o comando a las unidades de medida deseadas. En nuestro caso, convertimos kilobytes a megabytes dividiendo por 1024. Aquí también puede configurar el tipo de indicador.
En el último paso, puede configurar los parámetros de alerta si el valor del parámetro supera la condición. Por ejemplo, habilitemos el envío de un mensaje a Slack.
Haga clic en Finish.
La comprobación se ha creado y ya está en ejecución. Su resultado es visible en la lista de comprobaciones (véase el ejemplo de espacio libre en disco abajo).
También puede mostrar el gráfico del parámetro monitoreado (véase el ejemplo de carga media de CPU abajo):
Con esta comprobación puede monitorear cualquier dispositivo Android, siempre que pueda instalar un servidor SSH en él. Por ejemplo, el programa monitorea con éxito smartphones de marcas populares vía Wi-Fi tras instalar cualquier servidor SSH de Google Play.
Requisitos: Windows XP/Vista/7/8.1/10/11, Server 2003/2008/2012/2016/2019/2022 compatible.








