Diferencias entre las revisiones 1 y 16 (abarca 15 versiones)
Versión 1 con fecha 2017-10-26 15:56:47
Tamaño: 2024
Editor: FabioDuran
Comentario:
Versión 16 con fecha 2017-10-26 16:43:59
Tamaño: 2843
Editor: FabioDuran
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 2: Línea 2:
La idea de usar ProxyCommand es un opción para ejecutar automáticamente el comando ssh en el host remoto y pasar al siguiente host y reenviar todo el tráfico a través de netcat. ProxyCommand  es un opción para ejecutar automáticamente el comando ssh en el host  remoto y pasar al siguiente host reenviando todo el tráfico a través de  una netcat encriptada con ssh.

<<TableOfContents>>
Línea 5: Línea 7:
 * Se configura el usuario ssh del equipo de la red privada en tú equipo. Esto inicia el proceso padre ssh.
 * El padre ssh crea un hijo ssh con E / S redirigido a tuneles que derivarán el tráfico de la conexión establecida (proxycommand).
 * El ssh hijo crea una conexión con la máquina de la red pública.
 * El proceso ssh en el equipo de la red pública crea una conexión tipo tcp con la máquina de la red privada deseada a través del puerto 22.
 * A esto se agrega un canal ssh a la conexión ssh existente entre tú equipo y el equipo de la red pública.
 * Entonces el padre de la conexión ssh escribe los datos de handshake del túnel, la conexión hijo ssh los lee desde aquél túnel, los envía a través del canal ssh a ssh del equipo de la red pública; ssh lo lee y lo escribe en el socket conectado al equipo de la red privada. Del mismo modo, los datos se transmiten desde la red privada a tú equipo
En un modo simple esto funciona del siguiente modo:
Línea 12: Línea 9:
== ¿Cómo hacerlo? ==
Para lograr está acción se debe editar el archivo configuración local de SSH ~/.ssh/config (Linux - OSX) e insertar lo siguiente:
Se establece una conexión entre tú maquina y bioinfo.utalca.cl
Línea 16: Línea 12:
+-------+ +------------+
  you ---ssh--- bioinfo
+-------+ +------------+
}}}
bioinfo ejecuta un netcat para establecer conexión con un equipo de la red privada
Línea 17: Línea 18:
{{{
+------------+ +--------+
   bioinfo ---netcat--- server
+------------+ +--------+
}}}
Entonces tú estás conectado a través de una conexión ssh en un túnel netcat (encriptado) hasta el equipo de la red privada.

{{{
+-----+ +------------+ +--------+
| you | | bioinfo | | server |
| | ===ssh=over=netcat=tunnel====================> | |
+-----+ +------------+ +--------+
}}}
En el caso de nuestra escuela, considerar que:

 * Equipo de red pública: bioinfo.utalca.cl.
 * Equipo red privada: Todo aquél equipo que se encuentre en dependencias de la escuela.

== ¿Cómo configurar? ==
La configuración es bastante sencilla, sólo se debe editar el archivo configuración local de SSH /home/user/.ssh/config (Linux) o /Users/user/.ssh/config (OSX) e insertar los siguientes tag con los datos relacionados:

 * Host: identificador único
 * User: usuario de la máquina final a la que se desea conectar
 * Hostname: con la IP de la máquina final
 * proxycommand: con la instrucción de conexión a establecer

Un ejemplo o template para generar una conexión a la escuela puede ser:

{{{
Línea 24: Línea 54:
}}}
== Ejemplos ==
Para el caso de acceder al clustertalca, la configuración de ssh_config sería la siguiente:
Línea 25: Línea 58:
{{{
Host clustertalca

user: <usuariocluster>

hostname 10.1.1.101

proxycommand ssh tu-usuario-bioinfo@bioinfo.utalca.cl nc %h %p 2> /dev/null
Línea 26: Línea 67:
La conexión desde tú máquina se realiza del siguiente modo:
Línea 27: Línea 69:
Esto posiblemente facilitará la experiencia de uso y conectividad al centro de cómputo. {{{
ssh clustertalca
}}}
En caso de querer traspasar datos desde tú maquina hasta el cluster se debe ejecutar lo siguiente:
Línea 29: Línea 74:
Un ejemplo de conexión: {{{
scp fichero.local clustertalca:
}}}
No olvidar que después del dos puntos (:) va en referencia al directorio personal ($HOME) del usuario.
Línea 31: Línea 79:
user@clustertalca Para copiar los datos generados desde el clustertalca hasta tú máquina se puede realizar de la siguiente forma:
Línea 33: Línea 81:
Siendo siempre el destino la referencia o parámetro que le hemos dado al tag Host en la configuración anterior.

Ahora, en caso de necesitar realizar un copiado de datos mediante scp solo se tendría que hacer:

scp fichero.local user@clustertalca:

No olvidar que después del dos puntos (:) va en referencia al directorio personal ($HOME) del usuario.
{{{
scp clustertalca:fichero <mi directorio local>
}}}

SSH - ProxyCommand

ProxyCommand es un opción para ejecutar automáticamente el comando ssh en el host remoto y pasar al siguiente host reenviando todo el tráfico a través de una netcat encriptada con ssh.

¿Cómo funciona?

En un modo simple esto funciona del siguiente modo:

Se establece una conexión entre tú maquina y bioinfo.utalca.cl

+-------+             +------------+
  you      ---ssh---     bioinfo
+-------+             +------------+

bioinfo ejecuta un netcat para establecer conexión con un equipo de la red privada

+------------+                +--------+
   bioinfo      ---netcat---    server
+------------+                +--------+

Entonces tú estás conectado a través de una conexión ssh en un túnel netcat (encriptado) hasta el equipo de la red privada.

+-----+                  +------------+                +--------+
| you |                  | bioinfo    |                | server |
|     | ===ssh=over=netcat=tunnel====================> |        |
+-----+                  +------------+                +--------+

En el caso de nuestra escuela, considerar que:

  • Equipo de red pública: bioinfo.utalca.cl.
  • Equipo red privada: Todo aquél equipo que se encuentre en dependencias de la escuela.

¿Cómo configurar?

La configuración es bastante sencilla, sólo se debe editar el archivo configuración local de SSH /home/user/.ssh/config (Linux) o /Users/user/.ssh/config (OSX) e insertar los siguientes tag con los datos relacionados:

  • Host: identificador único
  • User: usuario de la máquina final a la que se desea conectar
  • Hostname: con la IP de la máquina final
  • proxycommand: con la instrucción de conexión a establecer

Un ejemplo o template para generar una conexión a la escuela puede ser:

Host clustertalca

user <tu-usuario-equipo-red-privada>

hostname <ip-equipo-red-privada>

proxycommand ssh tu-usuario-bioinfo@bioinfo.utalca.cl nc %h %p 2> /dev/null

Ejemplos

Para el caso de acceder al clustertalca, la configuración de ssh_config sería la siguiente:

Host clustertalca

user: <usuariocluster>

hostname 10.1.1.101

proxycommand ssh tu-usuario-bioinfo@bioinfo.utalca.cl nc %h %p 2> /dev/null

La conexión desde tú máquina se realiza del siguiente modo:

ssh clustertalca

En caso de querer traspasar datos desde tú maquina hasta el cluster se debe ejecutar lo siguiente:

scp fichero.local clustertalca:

No olvidar que después del dos puntos (:) va en referencia al directorio personal ($HOME) del usuario.

Para copiar los datos generados desde el clustertalca hasta tú máquina se puede realizar de la siguiente forma:

scp clustertalca:fichero <mi directorio local>

cluster/ssh-proxycommand (última edición 2019-06-28 14:40:26 efectuada por FabioDuran)