Está en la página 1de 5

Algunos trucos de SSH - Para acceder mediante ssh a un servidor y empaquetar una directorio del direct orio /home

del usuario con el cual accedimos al servidor ssh y despues tomar de la entrada es tandar y desempaquetarlo en nuestro directorio actual de trabajo de la maquina local. $ ssh naz@10.1.1.2 'tar cf - Documentos' | tar xf - Para buscar un archivo en el sistema remoto y filtrar el nombre de uno en la s alida estandar del sistema local $ ssh naz@10.1.1.2 'find ~ -type f -name "*.txt"' | grep ejemplo.txt - abrir un archivo empaquetado y comprimido en el sistema remoto y desempaquetar lo asi como descomprimirlo en la maquina local. $ ssh naz@10.1.1.2 cat examp.tar.gz | tar xvzf --> SSH. Tneles A pesar de la utilidad mencionada en los dos apartados anteriores, la funcionali dad de SSH no termina all, sino que nos brinda la posibilidad de crear tneles cifr ados entre dos computadoras. La orden que se utiliza para la creacin de estos tneles es: $ ssh -N -p puertor -L plocal:servidorremoto:premoto -l nusuarior maqui naremota

Opcin -p puertor aquinaremota -N -L plocal remoto

Descripcin es el puerto al que escucha el demonio sshd de la mquina remota m indica que no se debe iniciar una terminal tras la conexin suministra los parmetros para el tnel es el puerto en la mquina local encaminado al puerto del servidor

servidorremoto es la direccin de la mquina que corre el servicio a contactar, desde el punto de vista de la mquina que corre el servidor sshd. (maquina remota) premoto vidorremoto es el puerto del servicio que se desea contactar en la mquina ser

maquinaremota es el servidor ssh que hace de puente entre la mquina local y el servidor servidorremoto

Caso 1:

Necesitamos acceder a un servicio de la mquina remota y este servicio no est confi gurado para prestarse sobre una conexin cifrada o simplemente est configurado para atender peticiones locales solamente. Un ejemplo de esto es el servidor de base s de datos MySQL que normalmente atiende conexiones que se gestionan desde la pr opia computadora, rechazando a las procedentes de red. Muchas veces es necesario conectarse al servidor MySQL desde otra mquina de la re d o de Intenet con algn programa de administracin. Para lograrlo habra que configur ar a MySQL para que acepte conexiones de red (sin cifrar) y configurar el firewa ll para aceptar conexiones entrantes al puerto de MySQL, dejndolo expuesto a posi bles ataques. En este caso, la mquina remota ejecuta tanto el servidor SSH como el servidor MyS QL. Segn esto, la orden adecuada para la creacin el tnel es: $ ssh -N -p 22 -L 13306:localhost:3306 omar@servidor.midominio.com.ar Opcin -p 22 ervidor.midominio.com.ar -N la conexin -L 13306 vidor MySQL Descripcin es el puerto al que escucha el demonio sshd de s indica que no se debe iniciar una terminal tras suministra los parmetros para el tnel es el puerto en la mquina local encaminado al ser

localhost es la direccin de la mquina a contactar desde el p unto de vista del servidor sshd y como el servidor MySQL est ejecutndose en el pro pio servidor.dominio.com.ar, se usa localhost para autoreferirse. 3306 es el puerto que atiende el servidor MySQL

omar@servidor.midominio.com.ar es la maquina remota, es el servidor ssh y en es te caso tambien el sevidor MySQL

A partir de este momento, se puede usar el programa de administracin de bases de datos apuntando al puerto 13306 de la mquina local (localhost o 127.0.0.1) para a cceder al servidor remoto. Si en vez de un servidor MySQL estuviramos haciendo referencia a un servidor Apac he corriendo en la mquina remota, la orden a utilizarse sera: $ ssh -N -p 22 -L 10080:localhost:80 -l omar servidor.midominio.com.ar De esta m anera, un navegador apuntado a la direccin http://localhost:10080/ en nuestra mqui na local accedera al servidor Apache de la mquina remota a travs de un tnel SSH. -------------------------------------------------------------------------------------------------------------------------------------------------Caso 2

El servicio a contactar est corriendo en una computadora de una red interna prote gida por un firewall y este firewall tiene corriendo un servidor SSH. Supongamos que la red internet protegida por el firewall/servidor SSH tiene dire cciones del tipo 192.169.10.x y que el servidor MySQL se encuentra en la mquina 1 92.168.10.21 La orden a impartir es: $ ssh -N -p 22 -L 13306:192.168.10.21:3306 -l omar servidor.midominio.c om.ar Opcin -p 22 ervidor.dominio.com.ar -N la conexin -L 13306 vidor MySQL remoto Descripcin es el puerto al que escucha el demonio sshd de s indica que no se debe iniciar una terminal tras suministra los parmetros para el tnel es el puerto en la mquina local encaminado al ser

192.168.10.21 es la direccin de la mquina a contactar desde el p unto de vista del servidor sshd 3306 tactar -l usuario idor sshd es el puerto que atiende el servidor MySQL a con es el usuario autorizado para conectarse al serv

servidor.dominio.com.ar es el servidor ssh que hace de puente entre la mq uina local y el servidor MySQL Entonces, un gestor de bases de datos que apunte al puerto 13306 de la mquina loc al, accedera al servidor MySQL ejecutndose en la mquina 192.168.10.21 de la red int erna conectada a la maquinaremota. De igual forma, si hablramos de un servidor Apache, la orden sera: $ ssh -N -p 22 -L 10080:192.168.10.21:80 -l omar servidor.midominio.com. ar

y en nuestra mquina local, un navegador apuntando a la direccin http://localhost:1 0080/ accedera al servidor Apache que corre en la mquina 192.168.10.21 de la red i nterna conectada a la maquinaremota. Notas: La orden para crear tneles solicita la contrasea del usuario empleado para con ectarse al servidor SSH. Una vez validado el acceso NO devuelve el prompt de la lnea de comandos. Para interrumpir el tnel debe pulsarse Control+C. Vase la Parte 5

para ms informacin. El sistema local no permitir que se redireccionen puertos locales inferiores a 1000 sin contar con privilegios de root. Es decir, un usuario comn no podr redir eccionar el puerto local 80 al puerto remoto 80. Slo root puede hacerlo. --------------------------------------------------------------------------------------------------------------------------------------------------otro ejemplo : telnet seguro $ ssh -N -p 22 -L 5023:localhost:23 naz@10.1.1.2

-------------------------------------------------------------------------------------------------------------------------------------------------OpenSSH permite crear un tnel en el que encapsular otro protocolo en una sesin cif rada. La siguiente orden le dice a ssh(1) que cree un tnel para telnet: $ ssh -2 -N -f -L 5023:localhost:23 usuario@foo.ejemplo.com Veamos las opciones que se le han suministrado a ssh: -2 Obliga a ssh a utilizar la versin 2 del protocolo. (No la use si est traba jando con servidores SSH antiguos) -N Indica que no se ejecutar una orden remota, o solamente tnel. Si se omite, ssh iniciara una sesin normal. -f Obliga a ssh a ejecutarse en segundo plano. -L Indica un tnel local segn el esquema puerto local:equipo remoto:puerto rem oto. usuario@foo.ejemplo.com El servidor SSH remoto. Un tnel SSH crea un socket que escucha en localhost en el puerto especificado. Lu ego reenva cualquier conexin recibida en el puerto/equipo local va la conexin SSH al puerto o equipo remoto especificado. En el ejemplo el puerto 5023 en localhost se reenva al puerto 23 del localhost de la mquina remota. Ya que 23 es telnet, esto creara una sesin telnet segura a travs de un tnel SSH.

Puede usar esto para encapsular cualquier otro protocolo TCP inseguro como SMTP, POP3, FTP, etc.

También podría gustarte