GNU/Linux >> Tutoriales Linux >  >> Linux

Reenviar SSH a través del túnel SSH

Solución 1:

Su problema es vincular un oyente a localhost:22; ya hay un sshd escuchando eso. Hacer un túnel de una conexión ssh a través de una conexión ssh es completamente legal, y lo hago todo el tiempo, pero debe elegir puertos no utilizados para sus oyentes de reenvío.

Prueba

me% ssh [email protected] -L 2201:192.168.25.100:22

entonces

me% ssh localhost -p 2201

Debería terminar en el servidor B (a menos que algo ya esté vinculado a mí:2201, en cuyo caso, elija otro puerto).

Solución 2:

No tiene que usar el reenvío de puertos ssh para ingresar a una computadora interna a través de un proxy. Puede usar la función ssh para ejecutar un comando en el primer servidor al que se conecta para conectarse a una tercera computadora.

ssh -t [email protected] ssh [email protected]

El -t La opción obliga a ssh a asignar un pseudo-tty para que pueda ejecutar un comando interactivo.

Esto también puede funcionar con claves ssh. Si tiene su clave pública y privada en la máquina A y su clave pública en los archivos de claves autorizadas en las máquinas B y C, entonces puede usar el -A opción para reenviar la conexión del agente de autenticación.

Solución 3:

A partir de OpenSSH 7.3 (finales de 2016), la forma más sencilla es la configuración de ProxyJump. En tu ~/.ssh/config :

Host B
  ProxyJump A

O en la línea de comando, -J B .

Solución 4:

Usé una solución diferente. Usé un ProxyCommand opción (aquí en ~/.ssh/config ):

Host myinsidehost1 myinsidehost2 myinsidehost3
ProxyCommand ssh externalhost ssh %h sshd -i

Esto no configura ningún túnel de puerto a puerto, sino que tuneliza ssh mediante el uso de entrada/salida estándar. Este método tiene el inconveniente de que en realidad hay tres conexiones ssh para autenticar. Pero para conectarse al host interno, simplemente escriba:

ssh myinsidehost2

...así que no necesita preocuparse por elegir ninguna IP para ese túnel.

Solución 5:

de acuerdo con la página man de ssh, ProxyCommand es el método correcto

siendo la sintaxis:

ProxyCommand ssh -W %h:%p [email protected] 2> /dev/null

Linux
  1. Ssh:¿Scp a través de varios hosts?

  2. ¿Cómo puedo canalizar todo el tráfico de mi red a través de SSH?

  3. ssh a través de un enrutador sin reenvío de puertos

  4. ¿Cómo configurar el túnel ssh para reenviar ssh?

  5. Túnel vpn de acceso remoto SSH

Ssh:¿cómo funciona el túnel Ssh inverso?

SSH:cómo incluir el comando -t en el archivo ~/.ssh/config

¿Cómo saber si he iniciado sesión a través de SSH?

¿Cómo hacer un túnel de Windows Remote Desktop a través de ssh usando una caja de Linux?

Copie datos a través del túnel SSH en múltiples saltos

Conexión SSH a través de un túnel SSH inverso (remoto)