SSH, más que un shell seguro

  • Categoría: Linux
  • Publicado hace más de 2 años
SSH (Secure SHell) es un protocolo que nos sirve para acceder de forma segura a equipos remotos, básicamente como lo hace Telnet, pero usando algoritmos de cifrado que nos ayudan a mantener nuestra conexión segura, sobre todo si queremos acceder a equipos que desempeñan alguna función importante dentro de una organización.
 
Generalmente, para acceder debemos proporcionar nuestro usuario y la dirección del equipo, para que el servidor SSH nos solicite la contraseña de acceso:
 
ssh [email protected]
 
Desde que el cliente inicia la primera conexión entre el equipo remoto y nosotros, la información ya está viajando de forma segura, evitando que alguien pueda obtener nuestras credenciales de acceso a dicho equipo, sin embargo SSH es un protocolo muy adaptable y que nos ofrece muchas posibilidades.



SCP

La primera de ellas es poder transferir archivos entre el cliente y equipo remoto, sin necesidad de montar un servidor FTP o NFS, simplemente usando SCP (Secure CoPy) que implementan la mayoría de servidores SSH:
 
scp archivo.tar.gz [email protected]:/home/usuario

scp [email protected]:/var/log/messages messages.txt

 


SSH Tunneling

Esta característica es muy útil, ya que nos permite enviar y recibir información que no necesariamente sean comandos shell entre el cliente y el equipo remoto, por ejemplo la navegación común y corriente. Si no adivinan que utilidad puede tener esto piensen en lo siguiente: necesitan acceder a una página, pero el lugar donde están tiene implementado un firewall que bloquea precisamente dicha página, por lo tanto, podemos hacer ?tunneling? con un equipo remoto que no tenga dichos bloqueos y pasar la navegación en dicha página por nuestra sesión SSH:
 
ssh -D 8888 [email protected]
 
Una vez conectados, nuestro cliente SSH ?escucha? en el puerto 8888 como un servidor proxy, para que podamos configurar nuestro navegador y toda el tráfico sea transmitido a través de la sesión SSH
 

 
Otro ejemplo que se me ocurre, es cuando por alguna restricción geográfica, no podamos acceder a algún servicio web desde donde estamos, al hacer el túnel, dicho servicio web detecta como origen la IP de nuestro servidor remoto, no nuestra IP de cliente. Esto equivale de alguna manera a las VPNs (Virtual Private Network)
 


Reverse SSH

Si por alguna razón necesitamos acceder a un equipo que se encuentra detrás de un firewall y este no nos permite redireccionar el tráfico SSH hacia él, podemos hacer un ?reverse SSH?, de tal forma que ese equipo se conecte a otro servidor SSH, al cual nosotros podamos también conectarnos, para poder así acceder al equipo detrás del firewall. Un ejemplo que me viene a la mente, es cuando queremos ayudar a un amigo que no tiene ni idea de como configurar una redirección en su módem, pero necesitamos acceder a su equipo de manera remota:
 
Amigo ?> Módem ?> Servidor SSH <? Nosotros
 
Los pasos a seguir son relativamente muy sencillos:
 
Amigo
 ssh -R 9999:localhost:22 [email protected]
 
Nosotros
 ssh [email protected]
 
Una vez dentro del servidor SSH, podremos conectarnos con el equipo de nuestro amigo usando

 ssh [email protected] -p 9999
 
Como podrán observar, toda la magia radica en el parámetro -R, que le indica al servidor intermedio que en el puerto 9999 está escuchando el equipo de nuestro amigo ahora como servidor.
 
Estas solo son algunas posibilidades que SSH nos ofrece pero los invito a que experimenten con algunas más, por ejemplo; podemos hacer scripts desatendidos usando llaves RSA, redireccionar sesiones X (modo gráfico) a nuestro entorno gráfico, solo por mencionar algunas.



< fuente >



SSH, más que un shell seguro
15 Puntos Score: 5/10
Visitas: 992 Favoritos: 3
Ver los usuarios que votaron...
8 Comentarios SSH, más que un shell seguro
Jajaja muy bueno. Eso es lo que estoy esudiando para mi certificaci?
@rojored Fue la sincronicidad...    
excelente amigo buen tema....
podrias subiras como levantar SSH y si es posible con windows y linux  o maquinas virtuales ...me gustaria aprender mucho sobre este tema.. +5
woow.. oajala puedas hacer un tutorial en youtube con esta info.. Sencilla pero muy ?
@rojored   Que estudias en la universidad. ??
@superju Ya termine la carrera de Ing. en redes computacionales. Me estoy preparando  para en un mes rendir  el examen de certificaci?
@rojored Que bien; saludos.
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!