
Tengo varias computadoras con Linux en casa, en la universidad y mi teléfono Android. Me gustaría alguna forma de poder conectar SSH a cualquiera de ellos en cualquier momento, pero todos están ocultos detrás de diferentes redes y pueden perder su conexión o cambiar su dirección IP externa en cualquier momento.
Lo ideal sería tener alguna aplicación en segundo plano, similar a Dropbox, que mantenga una conexión (se reconecte) a algún servicio externo con una dirección conocida. Luego, cada vez que quiero realizar SSH de una computadora a otra, el servicio organiza la conexión. Tengo una Raspberry Pi que tiene una dirección DynDNS y puertos reenviados, por lo que puedo ejecutar el servicio yo mismo si es necesario. Pero es importante que el tráfico no pase a través de ese servidor, ya que no quiero que mis dos computadoras uni envíen datos de ida y vuelta cuando están sentadas una al lado de la otra.
¿Existe algún software que haga esto?
Alternativamente, ¿existe un servicio VPN gratuito similar al antiguo Hamachi que funcionaría en varias computadoras Linux y Android? Entonces todos estarían en una red pseudolocal y podrían comunicarse entre sí libremente. Por lo que puedo ver, no existen servicios gratuitos de este tipo en este momento, lo que parece extraño dada la abundancia de servicios gratuitos de sincronización de archivos (Dropbox, Google Drive, Mega, etc.).
Respuesta1
Nivel ceroparece encajar perfectamente en su caso de uso:
Lo llaman "redes definidas por software". Es una especie de mezcla entre una VPN y servicios como Hamachi. Básicamente, tienes la capacidad de crear redes (que tienen ID únicas), a las que puedes conectarte y autorizar dispositivos. Es una red P2P, pero puede usar supernodos si su red no permite conexiones entrantes.
Actualmente admiten múltiples sistemas operativos: Linux, FreeBSD, Android, Windows, OSX.
A excepción de Android, también puedes conectarte a varias redes a la vez. La conexión a una red crea una tarjeta de red virtual en su sistema operativo.
También puedes usar zeroconf o algo así si quieres usar DNS.
Está basado en UDP y maneja muy bien los cambios de red. Lo he experimentado muchas veces cuando mi teléfono celular cambia de wifi a LTE y viceversa.
Respuesta2
Puede considerar utilizar un túnel SSH.
Cree algunos túneles desde su dispositivo RPi entre sí a los que necesita acceso, y puede conectarlos mediante SSH utilizando puertos RPi locales.
El problema es que si el dispositivo se reinicia, la conexión se interrumpirá.