¿Cómo ssh y scp directamente a través de un servidor?

¿Cómo ssh y scp directamente a través de un servidor?

Me conecto al servidor2 de la siguiente manera:

home$ ssh server1
server1$ ssh server2
server2$

A veces también necesito realizar scp de esta manera, lo que lleva algo de tiempo extra:

home$ ssh server1
server1$ scp server2:file .
server1$ exit
home$ scp server1:file .

¿Hay alguna manera de hacer esto con un solo comando desde casa? Estoy usando autenticación de clave pública, pero sería bueno si también funcionara con contraseñas.

Respuesta1

Sugiero usar MobaXterm: solo tienes que

  • descárgalo desde aquí:http://mobaxterm.mobatek.net/download-home-edition.html
  • Haga clic en "Nueva sesión" y elija "ssh"
  • Especifique el nombre de su computadora "servidor2" o la dirección IP en el campo "Nombre de host remoto"
  • Especifique el nombre de su computadora "servidor1" o la dirección IP en el campo "Rebote SSH (conéctese a través de un servidor SSH de puerta de enlace)"

Esto iniciará un nuevo comando SSH, directamente a su computadora "servidor2". A la izquierda de la ventana, también tendrá acceso a una herramienta gráfica de transferencia de archivos SFTP que también estará conectada directamente al "servidor2".

Respuesta2

Puede utilizar el túnel SSH de esta manera:

ssh -f server1 -L 8888:server2:22 -N

Esto abre un socket en su máquina local, en el puerto 8888 (suponiendo que ningún otro proceso esté usando ese puerto), que canaliza la conexión al servidor2 (suponiendo que SSH se esté ejecutando en el puerto 22) a través del servidor1. Las banderas -Ny -fle dicen a SSH que se bifurque en segundo plano (tendrá que finalizar el proceso si desea detener el túnel).

Ahora puedes escanear archivos desde el servidor 2 simplemente haciendo

scp -P 8888 localhost:file

Respuesta3

home$ server1 "ssh server2"

pero cuando se trata de más servidores, escapar de la cadena de comando será doloroso.

Respuesta4

Utilice SOCKS5 con un túnel dinámico

Cree un túnel ssh dinámico hacia la primera máquina. Luego, use la primera conexión como proxy SOCKS5 para llegar al segundo host en la red remota.

Esto es fácil de configurar mediante PuTTY. Puedes reutilizar el proxy tantas veces como quieras. Algunos programas admiten SOCKS5 directamente. Como masilla y ssh.

En Linux, las cadenas proxy se pueden utilizar para proxy de programas que no son compatibles con SOCKS5 de forma nativa. En Windows, me gusta Proxycap. Funciona bien con RDP.

Para configurar esto usando Putty:

En la primera página de configuración del host, en túneles:

  • crear un túnel dinámico
  • Establezca el puerto en 9050.
  • Deje la parte de destino en blanco, ya que es dinámica.
  • Guarde su configuración. (Hecho desde la página de la sesión).

Luego, en la configuración del segundo host, bajo proxy:

  • Selecciona SOCK55.
  • Cambie el nombre del host proxy a 127.0.0.1
  • Establezca el puerto en 9050
  • Luego configure el resto de su sesión como de costumbre.
  • Guarda tu configuración

Para conectarse al segundo host. Primero tendrás que conectarte e iniciar sesión en el primer host. Entonces deberías poder conectarte al segundo host a través de la conexión ssh proxificada,

También puedes hacer esto desde la línea de comando con una entrada ssh_config: http://www.undeadly.org/cgi?action=article&sid=20070925181947

información relacionada