Contexto

Contexto

Contexto

Estou tentando melhorar meu fluxo de trabalho.

Atualmente tenho um desktop (que, basicamente, possui GPU) e um notebook. Quero explorar o desktop mesmo quando estou trabalhando com o notebook remotamente (ambos rodam Linux)

Na minha universidade apenas a porta 80 está aberta para conexões externas.

Solução atual

Meu desktop possui um servidor SSH e estou encaminhando algumas portas no meu NAT wanaddr:80 -> localaddr:22para evitar a restrição na rede da Universidade.

Além disso, estou implantando o código e executando com um intérprete remoto usando IDEs IntelliJ, funciona perfeitamente.

Problema

Tenho necessidade de usar mais serviços remotamente, por exemplo tensorboard, MLFlow, jupyter. As dificuldades surgem porque devo usar a porta 80 no lado da WAN, então não posso simplesmente encaminhar outras portas.

Tentativa de solução

Supondo que o nome de domínio do meu desktop seja desktop.dev.

Estou tentando redirecionar subendereços específicos para os serviços corretos, por exemplo

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

Tentei usar o Caddy, mas depois entendi que ele suporta apenas solicitações HTTP, estou pesquisando o Traefik, mas não estou conseguindo fazer isso facilmente.

Você pode me indicar a direção certa?

Responder1

Use o encaminhamento de porta SSH (opção -L). Da sua máquina doméstica, exponha apenas o ssh. Não importa a qual porta você se conectará; 80 é aceitável. Na máquina doméstica, execute serviços no dispositivo de loopback ou pelo menos disponibilize-os no loopback.

Em seguida, conecte-se a partir de sua estação de roaming como: ssh -p home-port home.address -L 8888:localhost:8888 -L 8000:localhost:8000 etc.

(se você estiver no Windows putty é capaz de fazer isso)

Em seguida, na sua estação de roaming, conecte-se ao host local. O cliente ssh encapsulará o tráfego para as portas da sua máquina doméstica. Se você fizer uma conexão tcp com localhost:8888 em uma estação roaming, o cliente ssh aceitará e, em seguida, fará uma conexão com localhost:8888 na máquina doméstica e, em seguida, enviará pacotes proxy para frente e para trás, para que você acabe como se seu serviço doméstico aparecesse em sua estação de roaming.

Você também pode fazer um avanço reverso com a opção -R. Você pode acessar o que não é diretamente acessível de sua estação de roaming se o destino de encaminhamento não for localhost, mas qualquer outra coisa acessível de casa: -L 7777:some.irc.server:6666, e a conexão com localhost:7777 será como se você se conectou a some.irc.server:6666.

Não importa o que você faça, apenas o tráfego SSH entre sua casa e a estação de roaming será visto.

informação relacionada