GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo scp a través de una máquina intermedia?

Sugeriría lo siguiente en su .ssh/config :

Host C
    User user
    ProxyCommand ssh -W %h:%p [email protected]

No estoy mucho más seguro si el host B no es de confianza y funciona para scp y sftp.


Como se describe en esta respuesta, puede usar el ProxyCommand directiva para tener un ssh el host lo rebota a un tercer host de forma transparente:

Supongamos que tiene los siguientes tres hosts:

  • workstation.example.com - Esta es la máquina en la que estás trabajando físicamente
  • proxy.example.com - Esta es la máquina a través de la cual estás enrutando tu tráfico SSH
  • endpoint.example.com - Aquí es donde desea que termine el tráfico en última instancia

En ~/.ssh/config el workstation , agregue lo siguiente:

Host endpoint
    User endpointUser # set this to the username on the endpoint host
    HostName endpoint.example.com
    ProxyCommand ssh [email protected] nc %h %p 2> /dev/null

En el proxy anfitrión, asegúrese de nc (netcat) está instalado.

Luego, en workstation , puedes ssh endpoint o sftp endpoint y se le transmitirá de forma transparente a la máquina a través de su servidor proxy. scp también funcionará.


Es posible y relativamente fácil, incluso cuando necesita usar certificados para la autenticación (típico en los entornos de AWS).

El siguiente comando copiará archivos de una ruta remota en el servidor 2 directamente a su máquina en la ruta local. Internamente, la solicitud de scp se envía a través del servidor 1.

scp -i user2-cert.pem -o ProxyCommand="ssh -i user1-cert.pem -W %h:%p [email protected]" [email protected]:/<remotePath> <localpath>

Si usa la autenticación de contraseña en su lugar, intente con

scp -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected]:/<remotePath> <localpath>

Si usa las mismas credenciales de usuario en ambos servidores:

scp -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected]:/<remotePath> <localpath>

Linux
  1. Cómo usar túneles SSH para acceder a servidores restringidos

  2. Ssh:¿cómo editar archivos de forma remota a través de Ssh?

  3. ¿Cómo Scp a través de una máquina intermedia?

  4. ¿Cómo volver a scp a local cuando ya he ingresado a la máquina remota?

  5. ¿Cómo transferir mis claves SSH a otra máquina?

Cómo monitorear una máquina Linux a través de Nagios

Cómo conectarse a su servidor web a través de SSH

Cómo conectarse a su servidor a través de SSH

Cómo SSH al servidor a través de Linux

Cómo agregar una clave SSH a VS Code y conectarse a un host

Cómo deshabilitar la verificación de clave de host SSH en Linux