1

У меня есть друг, который живет далеко и нуждается в технической поддержке. До сих пор я не смог диагностировать проблему по телефону, поэтому я искал возможность использовать соединение VNC для удаленного устранения неполадок с его компьютером. У нас обоих есть Маки.

Проблема в том, что он находится за брандмауэром, и все порты отфильтрованы (проверено с помощью nmap). Так как я тоже за брандмауэром, мне было интересно, можно ли установить какое-либо переадресационное соединение с моим Linode VPS. то есть мы оба подключались бы к моему VPS, и весь мой VNC-трафик передавался бы через VPS на компьютер моего друга (и поскольку мы оба инициировали подключения к VPS, проблем с брандмауэрами не возникало).

1 ответ1

1

Вам нужен обратный SSH-туннель и обычный SSH-туннель, и вы соединяете их вместе в середине.

У нас есть 3 машины. Друг, Сервер, Mac.

От друга вы подключаетесь к серверу по SSH, настраивая туннель в обратном направлении.

ssh -R 9999:localhost:5900 user@Server

Это создает сеанс связи SSH от друга до сервера. На сервере он прослушивает порт 9999 (по адресу localhost) и пересылает все, что находится на этом порту, обратно другу на порт 5900 (через туннель ssh, поэтому брандмауэр не блокирует его).

В приложении Friend теперь необходимо убедиться, что сервер VNC прослушивает порт 5900 (это порт по умолчанию для серверов VNC).

Затем с Mac вы делаете это,

ssh -L 9999:localhost:9999 user@Server

Это туннелирует все через порт 9999 на вашем конце к порту 9999 на локальном хосте на сервере. Поскольку 9999 на сервере затем пересылается другу, вы присоединились к туннелям вместе.

Теперь вы можете открыть VNC-клиент на Mac и подключить его к порту 9999 (т.е. когда он спрашивает, к чему подключаться, вы подключаетесь к 127.0.0.1:9999).

Чтобы это работало, демон ssh на сервере должен поддерживать переадресацию портов.

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

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