Túneles
Bayesian SSH incluye comandos para abrir túneles de reenvío de puertos locales y proxys dinámicos SOCKS5 sin necesidad de recordar opciones complejas de OpenSSH. Los túneles se ejecutan en primer plano y se cierran de forma limpia al interrumpirlos.
Reenvío de puertos local
Sección titulada «Reenvío de puertos local»El comando bssh forward crea un túnel SSH de reenvío de puertos local (estilo -L). El tráfico enviado a un puerto de escucha local se canaliza a través del host SSH remoto hasta una dirección de destino.
bssh forward db01 -L 5432:localhost:5432Formato de especificación
Sección titulada «Formato de especificación»La especificación -L sigue la sintaxis habitual de OpenSSH:
[bind_addr:]bind_port:remote_host:remote_portbind_addr: Dirección IP local en la que escuchar. Si se omite, se utiliza127.0.0.1.bind_port: Puerto local dondebsshescucha las conexiones entrantes.remote_host: Dirección de destino accesible desde el servidor SSH remoto.remote_port: Puerto de destino enremote_host.
Las direcciones IPv6 pueden escribirse entre corchetes:
bssh forward web-prod -L [::1]:8080:[fe80::1]:80Ejemplos habituales
Sección titulada «Ejemplos habituales»Reenviar una base de datos remota a tu equipo local:
bssh forward db01 -L 5432:localhost:5432Ahora puedes conectar herramientas locales (como psql o clientes gráficos) a localhost:5432.
Acceder a un servicio interno mediante un host de salto:
bssh forward bastion -L 8080:internal-api.corp:80Las peticiones locales dirigidas a http://localhost:8080 se reenviarán a través del bastion al puerto 80 de internal-api.corp.
Escuchar en todas las interfaces de red locales:
bssh forward web-prod -L 0.0.0.0:8080:localhost:80Al indicar 0.0.0.0, otros equipos de tu red local podrán acceder al puerto reenviado.
Proxy dinámico SOCKS5
Sección titulada «Proxy dinámico SOCKS5»El comando bssh proxy inicia un reenvío dinámico de puertos por SSH (estilo -D) que funciona como un proxy SOCKS5 local. Cualquier aplicación con soporte para SOCKS5 puede enrutar su tráfico a través del host SSH remoto.
bssh proxy web-prod -D 1080Opciones
Sección titulada «Opciones»-D <PORT>: Puerto local para el listener del proxy SOCKS5 (obligatorio).--bind <ADDR>: Dirección de escucha local (opcional, por defecto:127.0.0.1).
Para que el proxy SOCKS5 sea accesible desde tu red local:
bssh proxy bastion -D 9050 --bind 0.0.0.0Configuración en clientes
Sección titulada «Configuración en clientes»Configura tus aplicaciones para que utilicen socks5://127.0.0.1:1080.
Por ejemplo, comprueba el funcionamiento del proxy con curl:
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.orgLa dirección IP devuelta coincidirá con la del host SSH remoto y no con tu dirección local.
Ejecución y enrutamiento de túneles
Sección titulada «Ejecución y enrutamiento de túneles»Al ejecutar bssh forward o bssh proxy:
bsshresuelve la conexión de destino mediante búsqueda aproximada y clasificación bayesiana.- Muestra el estado de conexión y los datos de escucha:
→ SOCKS5 proxy on 127.0.0.1:1080 via web-prod (native)Configure your client: socks5://127.0.0.1:1080Press Ctrl+C to stop.
- Las conexiones directas sin Kerberos ni bastión utilizan el transporte SSH nativo en Rust (
russh). - Las conexiones que pasan por un bastión o requieren Kerberos utilizan automáticamente un subproceso de OpenSSH (
ssh -Lossh -D), manteniendo el enrutamiento de salto y las credenciales.
Detener un túnel o proxy
Sección titulada «Detener un túnel o proxy»Tanto bssh forward como bssh proxy se ejecutan como procesos interactivos en primer plano.
Para cerrar un túnel:
- En la terminal donde se ejecuta el comando, pulsa Ctrl+C.
bsshcaptura la señal de interrupción, detiene limpiamente el listener local, cierra los canales SSH remotos y finaliza:Shutting down proxy…Done.
Aplicación de escritorio
Sección titulada «Aplicación de escritorio»Los túneles y proxys se gestionan desde la interfaz de línea de comandos. La aplicación de escritorio se centra en sesiones interactivas de terminal, transferencia de archivos por SFTP, gestión de hosts guardados, historial de sesiones y sincronización en equipo; por el momento no cuenta con una vista específica para túneles.