Diferencias entre las revisiones 6 y 9 (abarca 3 versiones)
Versión 6 con fecha 2017-10-26 16:15:14
Tamaño: 2551
Editor: FabioDuran
Comentario:
Versión 9 con fecha 2017-10-26 16:18:20
Tamaño: 2660
Editor: FabioDuran
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 2: Línea 2:
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.
Línea 3: Línea 5:

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.
Línea 19: Línea 19:
== ¿Cómo hacerlo? == == ¿Cómo configurar? ==
Línea 31: Línea 31:
El tag Host es el tag que referenciaremos para establecer la conexión, por lo que debe ser un identificador único. El tag Host es al que referenciaremos para establecer la conexión, por lo que debe ser un identificador único.
Línea 45: Línea 45:
La conexión desde tú máquina sería: La conexión desde tú máquina se realiza del siguiente modo:
Línea 50: Línea 50:
En caso de querer traspasar datos desde tú maquina hasta el cluster: En caso de querer traspasar datos desde tú maquina hasta el cluster se debe ejecutar lo siguiente:
Línea 57: Línea 57:
Para copiar los datos desde el clustertalca a tú máquina: Para copiar los datos generados desde el clustertalca hasta tú máquina se puede realizar de la siguiente forma:

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?

  • Se inicia un proceso padre ssh configurando el usuario ssh del equipo de la red privada en tú equipo.
  • 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 (netcat).
  • A esto se agrega un canal ssh a la conexión ssh existente entre tú equipo y el equipo de la red pública (ssh.
  • 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 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?

Para lograr está acción se debe editar el archivo configuración local de SSH ~/.ssh/config (Linux - OSX) e insertar lo siguiente:

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

El tag Host es al que referenciaremos para establecer la conexión, por lo que debe ser un identificador único.

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)