Copiar archivos a través de dos capas de SSH desde Windows

Copiar archivos a través de dos capas de SSH desde Windows

El lugar donde trabajo tiene un servidor de inicio de sesión y luego inicio sesión en un cuadro de Linux desde ese servidor de inicio de sesión. Como en,

ssh login@host

ssh computer_name

proporcionando autenticación cada vez. Si estoy trabajando desde mi computadora portátil, que (desafortunadamente) ejecuta Vista, ejecuto PuTTY para ingresar login@hosty luego inicio sesión en nombre_computadora desde la terminal que se abre.

Con frecuencia tendré que transferir archivos locales de mi computadora a la máquina Linux y viceversa. Normalmente uso WinSCP para transferir login@hostnamey luego scp a nombre_computadora, o al revés. Sin embargo, login@hostnametiene un espacio de almacenamiento muy limitado y no puedo obtener archivos más grandes de esa manera. ¿Hay alguna manera de llevar archivos directamente entre nombre_computadora y mi computadora portátil?

Respuesta1

Configure un puerto para reenviar un puerto local. Para OpenSSH significaría:

$ ssh login@host -L 2222:computer_name:22

lo que hace que cualquier conexión que se transfiera 2222se localhostreenvíe al puerto 22vía computer_name, y eso es importante aquí host. Entonces sigue

$ scp -P 2222 computer_name_user@localhost:remote local

Obviamente esto también te permite conectarte acomputer_name

$ scp -p 2222 computer_name_user@localhost

PuTTY es capaz de realizar el reenvío de puertos (y, scphasta donde yo recuerdo, también lo ha hecho), sin embargo, si bien es un software vendido, en realidad sugeriría usar OpenSSH en Cygwin, ya que eso le brinda el estándar SSH de facto. interfaz (con todas las comodidades).

No pude encontrar rápidamente un duplicado claro, pero probablemente quieras comprobarlo:

Respuesta2

La forma más sencilla de hacer cosas a través de dos capas de SSH es ocultar la capa intermedia.

Configurar unProxyCommandpara que pueda ejecutarlo directamente ssh computer_namedesde el cliente original. Configure la autenticación de clave pública y active el reenvío de agentes ( ForwardAgent yesen ~/.ssh/config), de modo que no necesite proporcionar credenciales explícitamente a la máquina intermedia.

Ahora eso ssh computer_namefunciona perfectamente, simplemente usa scpo rsynco lo que quieras para copiar archivos.

información relacionada