¿Por qué no puedo conectarme a un puerto de túnel SSH inverso de forma remota, incluso con GatewayPorts habilitado?

20

Requiero acceso SSH constante a un host en nuestro departamento, cuya dirección IP se asigna dinámicamente. He configurado un túnel SSH remoto desde el host de destino a uno de nuestros hosts que posee una dirección IP estática:

ssh -f -N -g -R :22223:localhost:22 tunnelhost

Cuando apunto SSH al puerto local 22223en el host del túnel, el túnel funciona bien. Sin embargo, mi problema es que parece que no puedo vincular el túnel a otra cosa que no sea localhost, es decir, cuando trato de hacer SSH de forma remota tunnelhost:12323, no hay un puerto abierto para recibirlo. También he intentado:

ssh -f -N -R :22223:localhost:22 tunnelhost -o GatewayPorts=yes

Pero aún no hay suerte. Netstat me muestra:

[me@tunnel_host ~]$ netstat -an | grep 22223
tcp        0      0 127.0.0.1:22223         0.0.0.0:*               LISTEN
tcp6       0      0 ::1:22223               :::*                    LISTEN

Confirmando que el túnel solo está vinculado a localhost. Agregué una excepción de puerto en el host del túnel, con firewalld-cmd, y me aseguré de que ningún hardware de red interfiera con la conexión. ¿Alguna idea de lo que podría ser?

Saludos, James.

James Paul Turner
fuente

Respuestas:

29

GatewayPorts=yesDebe habilitar en la configuración de SSHd ( /etc/ssh/sshd_config), no el cliente para habilitar el enlace a interfaces que no sean loopback en puertos remotos.

-o GatewayPorts=yes

Solo funciona para puertos locales cuando se pasa al sshcomando.

Darth Android
fuente
Darth Android, gracias por tu respuesta. Parece que tiene razón acerca de que -g y -o GatewayPorts solo funcionan para túneles ocales (-L). En aras de la exhaustividad, aquí hay un poco más de información sobre este problema, en caso de que alguien más se encuentre con él en el futuro. bugs.debian.org/cgi-bin/bugreport.cgi?bug=228064
James Paul Turner
3
GatewayPorts=clientspecifiedes una configuración algo más segura, consulte askubuntu.com/questions/50064/reverse-port-tunnelling . En este caso, :22223:localhost:2se requiere la dirección de enlace vacía (dos puntos finales ).
Michael Goerz
1
Yo diría que la GatewayPorts=clientspecifiedconfiguración en sí misma no es más segura, sino que permite un mayor control sobre qué conexiones estarán vinculadas a comodín, en lugar de simplemente tener todas vinculadas a comodín.
Nick
Además, reinicie sshd después de modificar el sshd_config (en caso de que lo olvide)
Nick
⚠️ Tenga en cuenta que GatewayPorts=yesabrirá los puertos reenviados al mundo.
ccpizza