У меня есть 2 компьютера, которые я хочу подключить через Интернет через порт SSH. Проблема в том, что оба компьютера не имеют публичного IP. Моя идея состояла в том, чтобы использовать общедоступный сервер (ps) и использовать ssh -R <port>:localhost:<port> <ps-user>@<ps-address> на ПК1.

Для ПК2 я попробовал 2 способа создать соединение с ПК1: ssh -p <port> <pc1-user>@<ps-address> и ssh -L <port>:localhost:<port> <pc1-user>@<ps-address> . Но оба не приводят к соединению ssh с ПК1.

Что я здесь не так делаю?

Дополнение: обратите внимание, что я не могу перенести порт на ПК1 и ПК2

1 ответ1

0

Итак, если я понял ваш вопрос, у вас есть:

  • 2 ПК во внутренних сетях.
  • Вы не имеете никакого влияния на маршрутизаторы в любой сети.

И вы хотите:

  • Настройте публичный сервер (PS), на котором размещается служба SSH (я полагаю, порт 22).
  • Подключите ПК1 и ПК2 к PS (Исходящий трафик, без настройки маршрутизатора).
  • Подключите сеанс VNC от ПК2 (Windows) к ПК1 (Ubuntu) через порт 5900.

Этого можно добиться, создав туннель SSH, осуществив удаленную пересылку с ПК1 и локальную пересылку с ПК2.

Это будет архитектура:Архитектурная схема

Таким образом, чтобы это работало, с Ubuntu PC, PC1, вам нужно подключиться к PS с помощью:

ssh <ps-user>@<ps-address> -R 5901:localhost:5900

На этом этапе, если вы вошли в ПК1, вы можете запустить netstat -latn | grep 5901 и вы должны увидеть, что он слушает. Это означает, что половина процесса готова.

Теперь клиентское соединение. С ПК2, если бы это была тоже коробка с Linux, вы могли бы использовать

ssh <ps-user>@<ps-address> -L 5902:localhost:5901

если это Windows, вы можете использовать PuTTY, установив раздел переадресации портов под Connection / SSH / Tunnels , и добавить локальный порт с портом источника 5902 и локальным хостом назначения localhost:5901 . При нажатии Добавить вы увидите в списке переадресованных портов что-то вроде L5902 localhost:5901

Теперь у вас есть два туннеля, подключенных к общедоступному серверу. Если вы запускаете VNC Viewer с ПК2 и указываете на localhost:5902, вам следует подключиться к службе VNC, прослушивающей порт 5900 на ПК1.

Надеюсь, поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .