manual para tunneling por medio de ssh. · 2018-07-06 · el objetivo de este manual es crear un...

16
1 Manual para tunneling por medio de SSH. Autor: Gerardo Flores Petlacalco.

Upload: others

Post on 10-Apr-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

1

Manual para tunneling por medio de

SSH.

Autor: Gerardo Flores Petlacalco.

Page 2: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

2

Contenido

Introducción .................................................................................................................................. 1

Requerimientos ............................................................................................................................. 3

Túnel SSH ..................................................................................................................................... 3

Sobre Windows ......................................................................................................................... 3

Creando el Tunel SSH ........................................................................................................... 3

Conexión hacia el servidor remoto, mediante el túnel SSH y su localhost para intercambio

de archivos ............................................................................................................................ 6

Sobre Linux ............................................................................................................................... 8

Creando el túnel SSH ............................................................................................................ 8

Conexión hacia el servidor remoto, mediante el túnel SSH y su localhost para intercambio

de archivos .......................................................................................................................... 12

Referencias .................................................................................................................................. 14

Page 3: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

1

Introducción

El Port Forwarding es un mecanismo de SSH para tunelizar puertos desde una maquina cliente a

un servidor o de forma inversa. Esto se puede usar para agregar seguridad a aplicaciones antiguas,

saltarse firewalls, los administradores y profesionales IT los usan para abrir puertas traseras dentro

a la red interna desde sus máquinas domésticas. Lamentablemente esta característica puede usarse

por Hackers para inyectar malware y abrir un acceso directo desde la Internet hasta la red interna.

El local forwarding es usado para reenviar un puerto de la maquina cliente a un servidor.

Básicamente, el cliente SSH escucha las conexiones en un puerto configurado para recibir

conexiones, en forma básica el túnel es una conexión a un servidor SSH. El servidor de conecta

a un puerto destinado configurado, posiblemente a una maquina diferente al servidor SSH.

Los usos típicos de un Local Forwarding incluye:

• Túnel de sesiones y transferencia de archivos a través de servidores de salto

• Conexión a un servicio de una red interna desde el exterior

• Conexión a un recurso compartido remoto a través de Internet

En el LNS se requiere primero pasar por el servidor UI y desde ahí crear la comunicación al nodo

Login del clúster, este paso tiene como objetivo crear una barrera desde Internet a la red interna

para prevenir ataques desde el exterior por parte de personas que quieran realizar un uno

inadecuado del poder de computo que se ofrece.

Entre los inconvenientes que tiene este proceso, aparte del engorroso tiempo que toma conectarse

al clúster para enviar las tareas mediante SCRUM, es el intercambio de archivos desde la máquina

local al servidor pues es casi el mismo proceso que se requiere para conectarse, primero debes

subir tus archivos al UI y de ahí pasarlos al servidor.

El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo

de hacer una conexión directa desde la maquina local hacia el servidor para agilizar el intercambio

de archivos pues nos evita el paso de subir el archivo al UI para pasarlo a la cuenta dentro de

Login.

Page 4: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

2

Todo esto usando solamente un comando SSH que nos asociará a un puerto la conexión hacia el

clúster, este puerto permite la comunicación para un intercambio de archivos. Además, la

conexión creada permitirá mandar las tareas a SCRUM, pues nos dejará un prompt listo para usar.

Page 5: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

3

Requerimientos

Cliente SSH que permita realizar una conexión mediante línea de comandos

• En SO Windows se puede usar MobaXterm

• En SO Linux se puede hacer directamente en la terminal.

Administrador de archivos que permita la conexión a un servidor remoto vía SFTP

• Windows, puede usarse WinSCP

• Linux, puede realizarse directamente desde el manejador de archivos nativo de la

distribución.

Túnel SSH

Crear el túnel SSH para un intercambio directo de archivos sin necesidad de pasar por el nodo UI,

se describe a continuación para ambos sistemas operativos. Los pasos son similares entre ambos

sistemas operativos.

Sobre Windows

Los pasos para sistemas operativos Windows, se dividirán en dos partes. La primera, crear el túnel

SSH usando “MobaXterm, la segunda parte es conectar un administrador de archivos usando el

protocolo SFTP.

Creando el Túnel SSH

Se usa el software MobaXterm para conectarse al servidor interno del LNS, los pasos a seguir son

similares a una conexión simple, primero conectarse al servidor intermedio UI y posteriormente

hacer un SSH normal hacia el clúster.

Los pasos a seguir son los siguientes:

1. Con el programa Xterm abierto, tecleamos el siguiente comando dentro del prompt

Nota. El puerto local donde se asocia una conexión puede ser cualquier puerto otro puerto aparte

del 8080 que este habilitado para admitir conexiones.

Nota. La dirección del servidor remoto, siempre debe ir acompañado del puerto asociado al

protocolo SSH. En el LNS es el 22.

Page 6: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

4

El comando a teclear se muestra abajo, si lo usa la conexión estará asociada al puerto 8080 de su

localhost y reemplace la parte la cadena “nombre_de_usuario” con sus credenciales para

loggearse al nodo UI.

ssh -L 8080:192.168.170.213:22 [email protected]

Nos pedirá la contraseña de nuestro UI, la proporcionamos y estaremos dentro de ese nodo

intermedio.

2. Una vez dentro del nodo UI, hacemos establecemos una conexión SSH hacia el clúster

del LNS con el comando

ssh [email protected]

donde debes reemplazar la parte “nombre_de_usuario” con las credenciales que fueron

proporcionadas

Page 7: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

5

Para acceder se le pedirá introduzca la contraseña proporcionada y si la conexión se realizó

correctamente, tendrá la siguiente leyenda del prompt del servidor remoto.

Ahora, el último paso es comprobar que el túnel se hizo de manera correcta y está asociado al

puerto proporcionado del su localhost. Para ello, debe acceder a su navegador Web preferido y en

la barra de direcciones, colocar lo siguiente:

http://localhost:Puerto

En el ejemplo presentado en este manual, se usa el puerto 8080, por lo que nos quedaría la

dirección como:

http://localhost:8080

Si al entrar a esa dirección nos aparece a leyenda como se muestra en la captura de abajo, el túnel

SSH ha sido creado y estas ahora conectado con el servidor remoto a través del puerto 8080 de su

localhost.

Nota. En algunos navegadores puede no aparecer este mensaje, en lugar de eso puede aparecer

como “No se puede reconocer la respuesta del servidor” de ser ese el caso, el túnel ya está hecho

solamente es un error del navegador para mostrar los datos.

Page 8: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

6

Con el túnel creado, se procede a realizar la siguiente sección.

Conexión hacia el servidor remoto, mediante el túnel SSH y su localhost para intercambio

de archivos

En este paso conectaremos un manejador de archivos que soporte el protocolo SFTP para realizar

una transferencia y gestión de datos entre la maquina local y el servidor remoto. Usaremos el

software WinSCP. Sin embargo, los pasos serán muy generales por lo que en cualquier otra

aplicación parecida pueden funcionar.

Para opciones de descarga e instalación puede visitar el siguiente enlace a la página oficial.

https://winscp.net/eng/docs/guide_install

1. Abrimos WinSCP y nos aparecerá la siguiente ventana de configuración

Y lo llenamos de la siguiente manera:

En Nombre o IP del servidor, se coloca: localhost

En puerto, colocar el puerto al que se asoció el túnel SSH: 8080 (En nuestro ejemplo)

Page 9: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

7

Es probable que el protocolo cambie, por lo que nos debemos asegurar que este seleccionado el

protocolo SFTP

En usuario y contraseña van las credenciales proporcionadas por el LNS para conectarse al clúster

desde UI, las colocamos con se muestran y damos click a “Conectar” para iniciar la conexión.

Al terminar, nos aparece una pantalla como la siguiente. Del lado izquierdo estarán nuestros datos

almacenados localmente, mientras que del lado derecho los archivos que tenemos alojados en el

clúster del LNS

Desde esta ventana podrás cargar tus archivos y manipularlos, localmente para conocer más

funcionalidades de este software, por favor visite la página oficial con su documentación.

https://winscp.net/eng/docs/start

Page 10: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

8

Sobre Linux

En Linux la conexión se realiza directamente desde la Terminal y el túnel se puede realizar desde

el administrador de archivos ya que por defecto se acepta el protocolo SFTP. En este manual se

usó la distribución Linux Mint 18.1 por lo que pueden existir ciertas diferencias en el proceso

debido a los cambios entre las distribuciones y sus administradores de archivos. Sin embargo, los

pasos son similares.

Creando el túnel SSH

1. Abrimos una terminal en nuestra distribución y tecleamos el siguiente comando

Nota. El puerto local donde se asocia una conexión puede ser cualquier puerto otro puerto aparte

del 8080 que este habilitado para admitir conexiones.

Nota. La dirección del servidor remoto, siempre debe ir acompañado del puerto asociado al

protocolo SSH. En el LNS es el 22.

El comando a teclear se muestra abajo, si lo usa la conexión estará asociada al puerto 8080 de su

localhost y reemplace la parte la cadena “nombre_de_usuario” con sus credenciales para

loggearse al nodo UI.

ssh -L 8080:192.168.170.213:22 [email protected]

Page 11: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

9

2.

Se le pedirá la contraseña de acceso para el nodo UI

Page 12: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

10

3. Una vez dentro del nodo UI, hacemos establecemos una conexión SSH hacia el clúster

del LNS con el comando

ssh [email protected]

donde debes reemplazar la parte “nombre_de_usuario” con las credenciales que fueron

proporcionadas

Del mismo modo se pedirá la contraseña de acceso para el clúster del LNS, una vez proporcionada

nos aparecerá el prompt del clúster y la advertencia de seguridad que confirma la conexión.

Page 13: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

11

Ahora, el último paso es comprobar que el túnel se hizo de manera correcta y está asociado al

puerto proporcionado del su localhost. Para ello, debe acceder a su navegador Web preferido y en

la barra de direcciones, colocar lo siguiente:

http://localhost:Puerto

En el ejemplo presentado en este manual, se usa el puerto 8080, por lo que nos quedaría la

dirección como:

http://localhost:8080

Nota. Nos puede aparecer esta leyenda en el navegador, pero el túnel ya está realizado y se puede

usar mediante el administrador de archivos.

Page 14: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

12

Conexión hacia el servidor remoto, mediante el túnel SSH y su localhost para intercambio

de archivos

Abrimos un administrador de archivos dentro de Linux y en la barra de direcciones tecleamos la

siguiente dirección

Donde reemplazamos el nombre de usuario, con el nombre de tu cuenta dentro del LNS y el puerto

debe ser el mismo del paso “Creando túnel SSH”.

Nota. Con esta dirección, te conectarás directamente a tu carpeta personal dentro del LNS, donde

podrá visualizar sus archivos.

Page 15: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

13

Nos pide el password de nuestra cuenta del clúster.

De esta forma podrás administrar tus archivos directamente desde tu administrador de archivos

Linux, como si fuera una carpeta más del sistema.

Page 16: Manual para tunneling por medio de SSH. · 2018-07-06 · El objetivo de este manual es crear un local forwarding usando el protocolo SSH, con el objetivo de hacer una conexión directa

14

Referencias

Martin. (16 de Enero de 2017). Connect to FTP server or SFTP server. Obtenido de WinSCP:

https://winscp.net/eng/docs/guide_connect

SSH PORT FORWARDING EXAMPLE - HOW TO TUNNEL APPLICATIONS? (2017). Obtenido

de SSH Communications Security, Inc.: https://www.ssh.com/ssh/tunneling/example

Usar Nautilus como cliente de FTP. (8 de Agosto de 2009). Obtenido de Paraiso Linux:

https://paraisolinux.com/usar-nautilus-como-cliente-de-ftp/