Cómo crear un túnel SSH en un Mac
Por Lucas Russo, desarrollador de SSHive · Actualizado el
Túneles SSH locales, remotos y SOCKS5 en macOS, en la línea de comandos y en el editor de perfiles de SSHive, donde vuelven en cada conexión.
Un túnel SSH lleva un puerto de red dentro de una conexión SSH cifrada, y los hay de tres tipos. El local (-L) trae a tu Mac un puerto de la red remota: una base de datos, una página de administración, cualquier cosa que solo alcanza el servidor. El remoto (-R) hace lo contrario y abre en el servidor un puerto que vuelve a tu Mac. El dinámico (-D) convierte la conexión en un proxy SOCKS5 para tu navegador, con su propia guía de SOCKS5. Con OpenSSH, incluido en macOS, cada uno cabe en una línea: ssh -L 5433:db.internal:5432 user@bastion o ssh -R 8080:localhost:3000 user@server. Los pasos de abajo crean los mismos túneles en SSHive, ligados a un perfil. La versión gratuita incluye 1 túnel local; los túneles remotos y SOCKS5 requieren Pro, que en Mac permite hasta 10 túneles locales, 5 remotos y 1 puerto SOCKS por perfil.
Paso a paso
Abrir un perfil y desplegar «Opciones avanzadas»
Barra lateral › + (nueva conexión), o clic derecho en un perfil existente › Editar. Rellena host, puerto, usuario y autenticación como de costumbre y haz clic en Opciones avanzadas, al final del diálogo. Entre los bloques que se despliegan están los tres tipos de túnel: Túneles locales (-L), Túneles remotos (-R) y Proxy SOCKS5 (-D).Añadir un túnel local (-L), el caso más habitual
En Túneles locales (-L) haz clic en + Añadir. Aparecen tres campos en una línea: puerto local (5433, por ejemplo; desde 1024 no hace falta sudo), host remoto (db.internal, tal como lo ve el servidor SSH;localhostsi el servicio corre en el propio servidor) y puerto remoto (5432). Guarda. El túnel se abre cada vez que te conectas con este perfil, ligado solo a 127.0.0.1: no hay campo de dirección de escucha, así que nada más en tu red puede usarlo. La versión gratuita permite 1 túnel local; Pro permite 10 por perfil.Añadir un túnel remoto (-R), Pro
En Túneles remotos (-R) haz clic en + Añadir. Campos: puerto remoto (el que se abre en el servidor SSH,8080), host local (localhost) y puerto local (3000). En el servidor,curl localhost:8080llega ahora al puerto 3000 de tu Mac. En la versión gratuita el bloque aparece atenuado y, al pulsar su etiqueta PRO, se abre la ventana para pasar a Pro. Pro permite 5 túneles remotos por perfil.Leer el indicador ⇄ de la barra de estado
Una vez conectado, la barra de estado muestra⇄ N, donde N es el número de túneles activos (locales, remotos y SOCKS juntos). Haz clic para abrir el panel Estado de los túneles: cada túnel aparece con su tipo, su puerto local, su destino y su estado en vivo, más un botón para cerrarlo. Si un túnel no consigue escuchar (puerto ya ocupado), la sesión SSH sigue conectada y el fallo queda registrado; N simplemente no lo cuenta.Reconexión automática: los túneles vuelven con la sesión
Cuando la sesión SSH se cae (cambio de Wi-Fi, suspensión, reinicio del servidor), todos los túneles se cierran con ella, porque viven dentro de la conexión. La reconexión automática de SSHive recupera entonces la sesión y vuelve a abrir uno por uno los túneles del perfil, sin que tengas que hacer nada. Si un túnel falla en cada reconexión, revisa el sshd remoto:AllowTcpForwarding yespara los túneles locales y remotos, másGatewayPorts yessi un túnel remoto debe ser accesible desde fuera del servidor.
Preguntas frecuentes
¿El túnel muere cuando termina mi sesión SSH?+
ServerAliveInterval 60 en OpenSSH o confía en el keepalive integrado de SSHive (cada 30 s por defecto).¿Puedo pasar un túnel por una cadena de jump hosts?+
ssh -J bastion1,bastion2 -L 5432:db:5432 user@target pasa por los dos bastiones. En SSHive, añade los dos bastiones, en orden, a la Cadena de saltos del perfil de destino, como muestra la guía del jump host; los túneles definidos en ese perfil recorren entonces toda la cadena. Las cadenas de saltos son de Pro.Funciones de SSHive relacionadas
Túneles SSH
Local, remoto y proxy SOCKS5
Terminal SSH
Terminal acelerado por GPU
Prueba SSHive gratis en macOS
Consigue el cliente todo en uno de SSH, SFTP, RDP y VNC para Mac. Descarga gratuita, sin registro.
Descargar SSHive gratis