Contexto

Contexto

Contexto

Estoy intentando mejorar mi flujo de trabajo.

Actualmente tengo una computadora de escritorio (que, básicamente, tiene GPU) y una computadora portátil. Quiero explotar el escritorio incluso cuando trabajo con la computadora portátil de forma remota (ambas ejecutan Linux)

En mi universidad sólo el puerto 80 está abierto a conexiones externas.

Solución actual

Mi escritorio tiene un servidor SSH y estoy reenviando algunos puertos en mi NAT wanaddr:80 -> localaddr:22para evitar la restricción en la red de la Universidad.

Además, estoy implementando el código y ejecutándolo con un intérprete remoto usando IDE de IntelliJ, funciona de maravilla.

Problema

Tengo la necesidad de utilizar más servicios de forma remota, por ejemplo tensorboard, MLFlow, jupyter. Las dificultades surgen porque debo usar el puerto 80 en el lado WAN, por lo que no puedo simplemente reenviar otros puertos.

Intento de solución

Suponiendo que el nombre de dominio de mi escritorio es desktop.dev.

Estoy intentando redirigir subdirecciones específicas a los servicios correctos, por ejemplo

ssh.desktop.dev:80 -> <?> -> localhost:22
tensorboard.desktop.dev:80 -> <?> -> localhost:8888
jupyter.desktop.dev:80 -> <?> -> localhost:8000

Intenté usar Caddy pero luego entendí que solo admite solicitudes HTTP. Estoy investigando Traefik pero no entiendo cómo hacerlo fácilmente.

¿Me puede apuntar en la dirección correcta?

Respuesta1

Utilice el reenvío de puertos SSH (opción -L). De la máquina de su hogar, exponga solo el archivo ssh. No importa a qué puerto terminarás conectándote; 80 es aceptable. En la máquina doméstica, ejecute servicios en el dispositivo de bucle invertido o al menos póngalos a disposición desde el bucle invertido.

Luego conéctese allí desde su estación de roaming como: ssh -p home-port home.address -L 8888:localhost:8888 -L 8000:localhost:8000 etc.

(si estás en Windows, PuTTY puede hacer esto)

Luego, en su estación de roaming, conéctese a localhost. El cliente ssh canalizará el tráfico a dichos puertos en su máquina doméstica. Si realiza una conexión tcp a localhost:8888 en una estación itinerante, el cliente ssh aceptará, luego realizará una conexión a localhost:8888 en la máquina doméstica y luego enviará paquetes proxy de un lado a otro, por lo que terminará como si su servicio doméstico apareciera en su estación de roaming.

También puedes hacer un retroceso hacia adelante con la opción -R. Puede acceder a algo a lo que no se puede acceder directamente desde su estación de roaming si el destino de reenvío no será localhost, sino cualquier otra cosa accesible desde casa: -L 7777:some.irc.server:6666, y la conexión a localhost:7777 será como si se conectó a some.irc.server:6666.

No importa lo que hagas, por cable solo se verá el tráfico SSH entre tu casa y la estación de roaming.

información relacionada