systemadmin.es > Utilidades > Acceso indirecto a servidores mediante ProxyCommand

Acceso indirecto a servidores mediante ProxyCommand

Para acceder a hosts que no podemos establecer una conexión ssh directa y por lo tanto tenemos que acceder a través de un host de gateway podemos usar la opción ProxyCommand y netcat para hacerlo directamente.

Normalmente la conexión sería:

  • Desde nuestro equipo origen establecemos una conexión ssh al equipo intermedio
  • Del equipo intermedio hacemos otro ssh al servidor destino

Lo cual resulta una perdida de tiempo tener que establecer dos conexiones ssh por cada servidor al que queremos conectar.

Mediante el fichero de configuración ssh_config podemos añadir el servidor destino y usar ProxyCommand para redirigir la comunicación:

Host destino.systemadmin.es
	User          root	
	HostName      destino.systemadmin.es
	ProxyCommand  ssh jordi@intermedio.systemadmin.es nc %h %p 2> /dev/null

Mediante este configuración indicamos que cuando nos queramos conectar al servidor destino.systemadmin.es, lo haga a usando el proxy que indicamos: Nos conectamos al servidor intermedio y hacemos un nc al servidor destino (se substituye %h y %p por el host, definido mediante HostName y el puerto).

Por lo tanto, en el caso que queramos usa claves públicas para conectar a los dos servidores deberemos añadirlas desde el equipo origen al equipo intermedio y del equipo origen al equipo destino. Esto es así porque no estamos lanzando un segundo ssh al destino, sino que usamos el equipo intermedio como proxy para conectarnos desde el equipo origen al equipo destino.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>