Контекст

Контекст

Контекст

Я пытаюсь улучшить свой рабочий процесс.

В настоящее время у меня есть настольный компьютер (который, по сути, имеет графический процессор) и ноутбук. Я хочу использовать настольный компьютер, даже когда я работаю с ноутбуком удаленно (они оба работают под управлением Linux)

В моем университете для внешних подключений открыт только порт 80.

Текущее решение

На моем рабочем столе установлен SSH-сервер, и я делаю переадресацию портов в своем NAT, wanaddr:80 -> localaddr:22чтобы обойти ограничение в университетской сети.

Более того, я развертываю код и запускаю его с помощью удаленного интерпретатора с использованием IDE IntelliJ, и все работает просто замечательно.

Проблема

Мне необходимо использовать больше сервисов удаленно, например tensorboard, MLFlow, , jupyter. Трудности возникают, поскольку мне необходимо использовать порт 80 на стороне WAN, поэтому я не могу просто перенаправить другие порты.

Попытка решения

Предположим, что доменное имя моего рабочего стола — desktop.dev.

Я пытаюсь перенаправить определенные подадреса на правильные службы, например

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

Я пытался использовать Caddy, но позже понял, что он поддерживает только HTTP-запросы. Я изучаю Traefik, но не понимаю, как это сделать.

Можете ли вы указать мне правильное направление?

решение1

Используйте переадресацию портов SSH (опция -L). На домашней машине откройте только ssh. Неважно, к какому порту вы в итоге подключитесь; 80-й порт приемлем. На домашней машине запустите службы на устройстве loopback или, по крайней мере, сделайте их доступными из loopback.

Затем подключитесь туда со своей роуминговой станции следующим образом: ssh -p home-port home.address -L 8888:localhost:8888 -L 8000:localhost:8000 и т. д.

(если вы работаете в Windows, то putty может это сделать)

Затем на вашей роуминговой станции подключитесь к localhost. Клиент ssh будет туннелировать трафик на указанные порты на вашей домашней машине. Если вы установите tcp-подключение к localhost:8888 на роуминговой станции, клиент ssh примет его, затем подключитесь к localhost:8888 на домашней машине, а затем проксируйте пакеты туда и обратно, так что в итоге вы увидите, как ваш домашний сервис отображается на вашей роуминговой станции.

Вы также можете сделать обратную переадресацию с опцией -R. Вы можете получить доступ к тому, что недоступно напрямую с вашей роуминговой станции, если пунктом назначения переадресации будет не localhost, а что-либо другое, доступное из дома: -L 7777:some.irc.server:6666, и подключение к localhost:7777 будет таким же, как если бы вы подключились к some.irc.server:6666.

Что бы вы ни делали, по проводу будет виден только SSH-трафик между вашим домом и роуминговой станцией.

Связанный контент