Diferencias entre las revisiones 6 y 7
Versión 6 con fecha 2017-10-26 16:15:14
Tamaño: 2551
Editor: FabioDuran
Comentario:
Versión 7 con fecha 2017-10-26 16:15:36
Tamaño: 2554
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.

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 hacerlo?

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 el tag 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 sería:

ssh clustertalca

En caso de querer traspasar datos desde tú maquina hasta el cluster:

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 desde el clustertalca a tú máquina:

scp clustertalca:fichero <mi directorio local>

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