SSH: La navaja suiza del administrador de sistemas

Secure SHell (SSH) es un intérprete de ordenes remoto. Su principal uso es para la administración de sistemas remotos. Reemplaza al antiguo e inseguro “rlogin” mediante el uso de TLS (lo que añade cifrado de datos y evita el man-in-the-middle attack).

El uso habitual de SSH es:


ssh <usuario-remoto>@<host>

Si conecta con el equipo remoto, sólo nos basta introducir la contraseña y estaremos dentro.

Si sólo queremos ejecutar una orden o un script determinado, añadimos el comando al final. Un ejemplo habitual es reiniciar una máquina.


ssh root@server1.dominio.com reboot

Visto su uso habitual veamos otros ejemplos muy útiles para llevar mejor el día a día del administrador de sistemas.

Túnel proxy

Si no estamos muy seguros de que nuestra navegación web pase por un canal seguro (sin fisgones), podemos hacer un canal seguro entre nuestro equipo y nuestro servidor de confianza (si no teneis uno, podeis lanzar una micro-instancia de Amazon EC2, tendréis un buen proxy server por $0,02 por hora).

El tunel se establece así:


ssh  -D 8080 <user>@<host>

La opción -D 8080, indica que queremos hacer un túnel asociado al puerto local 8080. Sólo nos quedaría configurar nuestro navegador web para usar como proxy SOCKS el equipo “localhost” en el puerto 8080.

SSH con interfaz gráfica

Si no os sentís cómodos con la línea de comandos, o bien necesitáis correr una aplicación gráfica, SSH tambíen tiene una opción para ayudaros. Sólo necesitais estar ejecutando un servidor X Window (normalmente Xorg Server) en vuestra máquina y redireccionar el tráfico X11 hacia ella.


ssh  -Y <user>@<host>

El argumento “-Y” hará todo el trabajo de redirección por nosotros. Sólo nos queda ejecutar nuestra aplicación gráfica (Ej. netbeans).

Tunel proxy estático

Es una variante del túnel anterior pero con la particularidad de poder especificar el puerto de destino en el host remoto. Se ve mejor con un ejemplo.

Suponed que habéis desarrollado una aplicación servidor que recibe un mensaje y lo redistribuye vía Twitter a una cuenta especificada (vale cualquier otra aplicación imaginable). Esta aplicación escucha los mensajes en el puerto 1234.  Como ibais justo de tiempo (algo demasiado habitual) habéis optado por no usar TLS para cifrar la comunicación y utilizar en su lugar un canal SSH.

La solución es sencilla. El cliente tiene que asociar un puerto del equipo local al puerto de aplicación del servidor mediante la siguiente sintaxis.


ssh  -L <puerto-local>:<host-server>:1234 <user>:<remote-server>

Hay que especificar que <host-server> no tiene porqué ser igual a <remote-server>. Si tanto el equipo donde corre el servidor SSH como el que corre la aplicación servidor, son el mismo, la sintaxis sería:


ssh  -L <puerto-local>:localhost:1234 <user>:<remote-server>

Si no coinciden lo que ocurre es que habría una comunicación no segura entre <remote-server> y <host-server>.

Bueno, estas son algunas de las utilidades más importantes de SSH. Existen otras como “scp” (para copiar archivos) o “sftp” (ssh ftp).

Sólo deciros que si sois usuarios de Windows, podéis usar PuTTY.

Translate to:English
MenefanteMenéame TwitterTwitter

5 Responses to SSH: La navaja suiza del administrador de sistemas

  1. vruz dice:

    El Putty es excelente. Hace unos años hice una interfaz gráfica para PuTTY que permitía apilar varias ventanas organizadas en pestañas, al estilo que ya es tradicional en Linux.

    • Chema dice:

      Muy interesante vruz🙂

      Putty es lo primero que instalalo después de echar andar una máquina Windows.
      ¿esta disponible tu app bajo software libre?

  2. Andrea dice:

    Oye… Necesito ayuda😦

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: