GitHub - sshuttle/sshuttle: Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling.
Extracto
Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling. - sshuttle/sshuttle
Resumen
Resumen Principal
sshuttle emerge como una solución única y altamente eficaz para el desafío común de acceder a redes remotas de manera transparente a través de SSH, actuando como un proxy transparente que combina las funcionalidades de una VPN con la ubicuidad de SSH. Este programa aborda directamente las frustraciones de usuarios y administradores que se encuentran con VPNs complejas, lentas o difíciles de configurar (como IPsec o PPTP), o que buscan evitar las limitaciones de los port forwards de OpenSSH. Su diseño se enfoca en resolver escenarios donde el cliente puede ser Linux, FreeBSD, MacOS o Windows, y el acceso a la red remota se realiza mediante SSH, sin necesidad de privilegios de administrador en el destino. sshuttle se distingue al eludir problemas de rendimiento inherentes a TCP-over-TCP, una deficiencia común en características como PermitTunnel de OpenSSH, que además suele estar deshabilitada por defecto. Así, sshuttle proporciona una alternativa superior y más sencilla para establecer conexiones seguras y eficientes, optimizando la experiencia de acceso remoto sin la carga de infraestructuras VPN tradicionales o las restricciones de los túneles SSH básicos.
Elementos Clave
- Solución Innovadora para Acceso a Redes Remotas:
sshuttlese presenta como el único programa que resuelve un caso de uso muy específico y común: permitir el acceso a una red remota a través de SSH, funcionando como un proxy transparente o VPN, sin requerir una configuración de VPN compleja o privilegios de administrador en el servidor remoto. - Amplia Compatibilidad de Clientes y Flexibilidad de Uso: La herramienta es compatible con una variedad de sistemas operativos cliente, incluyendo Linux, FreeBSD, MacOS y Windows. Esto la hace accesible para una gran base de usuarios, permitiendo que un usuario acceda a una red remota vía SSH sin la necesidad de instalar o configurar una infraestructura VPN compleja, o sin tener que lidiar con la limitación de crear un port forward para cada host/puerto individualmente.
- Superación de Deficiencias de VPNs Tradicionales y OpenSSH: Aborda las frustraciones con protocolos VPN complejos (como IPsec, PPTP) y las limitaciones de las funciones de reenvío de puertos de OpenSSH. Específicamente, critica la lentitud y la configuración engorrosa de los port forwards de OpenSSH, y resalta el problema de rendimiento de TCP-over-TCP inherente a la característica
PermitTunnelde OpenSSH, que además suele estar deshabilitada por defecto.sshuttleofrece una alternativa que evita estas ineficiencias. - Capacidad de Ejecución como Servicio: Además de su uso interactivo,
sshuttlepuede ser configurado para ejecutarse como un servicio, lo que permite su integración con sistemas de gestión de configuración. Esta característica subraya su potencial para ser desplegado en entornos más formales y automatizados, proporcionando una solución persistente y gestionable para el acceso a redes.
Análisis e Implicaciones
Este programa representa una mejora significativa en la facilidad y eficiencia del acceso a recursos en redes remotas, simplificando drásticamente el proceso que tradicionalmente requería configuraciones complejas o comprometía el rendimiento. Su existencia implica que tanto usuarios individuales como equipos de TI pueden optimizar sus flujos de trabajo y asegurar el acceso a la red sin la pesada carga administrativa de las VPNs convencionales. La eliminación de las barreras de rendimiento y complejidad abre la puerta a una mayor productividad y a una mejor experiencia para cualquier persona que necesite conectarse a una red remota a través de SSH de manera transparente.
Contexto Adicional
La documentación completa para sshuttle está disponible tanto para la versión estable como para la versión de desarrollo más reciente, proporcionando guías detalladas para su uso. Adicionalmente, se ha explorado la implementación de sshuttle como un servicio, permitiendo su gestión mediante sistemas de configuración.
Contenido
sshuttle: where transparent proxy meets VPN meets ssh
As far as I know, sshuttle is the only program that solves the following common case:
- Your client machine (or router) is Linux, FreeBSD, MacOS or Windows.
- You have access to a remote network via ssh.
- You don't necessarily have admin access on the remote network.
- The remote network has no VPN, or only stupid/complex VPN protocols (IPsec, PPTP, etc). Or maybe you are the admin and you just got frustrated with the awful state of VPN tools.
- You don't want to create an ssh port forward for every single host/port on the remote network.
- You hate openssh's port forwarding because it's randomly slow and/or stupid.
- You can't use openssh's PermitTunnel feature because it's disabled by default on openssh servers; plus it does TCP-over-TCP, which has terrible performance.
Obtaining sshuttle
Please see the documentation.
Documentation
The documentation for the stable version is available at: https://sshuttle.readthedocs.org/
The documentation for the latest development version is available at: https://sshuttle.readthedocs.org/en/latest/
Running as a service
Sshuttle can also be run as a service and configured using a config management system: https://medium.com/@mike.reider/using-sshuttle-as-a-service-bec2684a65fe
Fuente: GitHub