Secure Shell
Túneles inversos
Buscar..
OpenSSH
La creación de un túnel ssh inverso lleva solo un interruptor -R al comando original.
Línea de comando
Supongamos que se está conectando a example.com como usuario guest mediante el comando ssh [email protected] . Abrir el túnel inverso puede verse así:
ssh -R 2222:localhost:22 [email protected]
Abrirá un puerto 2222 en el servidor remoto (solo interfaz de bucle invertido) y todas las conexiones a este puerto se reenviarán al servidor ssh de su computadora local (puerto 22 ).
Esto también asume que usted ha permitido las opciones AllowTcpForwarding yes y PermitOpen any en su sshd_config en su servidor. De lo contrario fallará con error.
open failed: administratively prohibited: open failed
Si desea permitir que se pueda acceder al puerto reenviado en otras direcciones de red (que no sea localhost ), debe permitir que GatewayPorts yes y usar una dirección IP o nombre de host o IP):
ssh -R 2222:example.com:22 [email protected]
Configuración
Además, puede especificar su reenvío de puerto remoto en su ~/.ssh/config para evitar escribir la misma línea cada vez que se conecte. Una buena práctica podría ser configurar también un alias para el host, que tendrá este reenvío, si se conecta a su host con frecuencia y no desea iniciar el reenvío de puertos cada vez:
Host example.com-R
Hostname example.com
User guest
RemoteForward 2222 localhost:22
y luego cree el reenvío de puerto remoto simplemente usando ssh example.com-R
Corriendo en segundo plano
El reenvío de puertos puede ejecutarse simplemente en segundo plano utilizando los conmutadores -N (no ejecute el comando remoto, solo el reenvío), -f (ir al fondo después de la autenticación), -T (deshabilitar la asignación de TTY remota). Poniendolo todo junto:
ssh -NTfR 2222:localhost:22 [email protected]