zaLinux.ru

Как сервер TigerVNC сделать доступным из вне. Как подключиться к серверу TigerVNC через SSH туннель


Как сделать так, чтобы TigerVNC прослушивал не только локальные соединения

По умолчанию TigerVNC прослушивает только интерфейс с IP адресом 127.0.0.1, это LOOPBACK (петлевой) адрес, то есть к VNC серверу можно подключиться только с этого же самого компьютера, либо через SSH туннель. Как именно использовать SSH туннель для подключения к TigerVNC будет показано чуть ниже.

Кроме этого, имеется опция -localhost, которая может принимать значение «yes» или «no». Если указать -localhost no, то TigerVNC сервер будет прослушивать любые входящие подключения, а не только локальные:

vncserver -localhost no

Как подключиться к серверу TigerVNC

Рассмотрим, как подключиться к TigerVNC, прослушивающему только петлевой интерфейс (localhost).

Для успешного подключения необходим доступ по SSH к компьютеру с VNC сервером. На компьютере с VNC сервером должна быть запущена служба SSH.

Для создания SSH туннеля выполните команду вида:

ssh -L 5901:127.0.0.1:5901 -N -f -l ПОЛЬЗОВАТЕЛЬ IP

Где:


  • ПОЛЬЗОВАТЕЛЬ — это пользователь Linux на удалённом компьютере, где запущен сервер VNC
  • IP — это IP адрес удалённого компьютера с VNC сервером

Например, имя пользователя на удалённой системе mial, а IP адрес сервера 192.168.0.100, тогда команда для создания туннеля следующая:

ssh -L 5901:127.0.0.1:5901 -N -f -l mial 192.168.0.100

Теперь при запуске VNC просмотрщика в качестве хоста для подключения нужно указать 127.0.0.1:5901:

Как закрыть SSH туннель

Поскольку запущенный процесс SSH уходит в фон, то находим его ID с помощью команды (смотрите также Как проверить открытые порты на своём компьютере):

ss -tulp

Пример вывода:

Netid           State            Recv-Q           Send-Q                     Local Address:Port                     Peer Address:Port          Process
tcp             LISTEN           0                128                            127.0.0.1:5901                          0.0.0.0:*              users:(("ssh",pid=20292,fd=5))
tcp             LISTEN           0                128                                [::1]:5901                             [::]:*              users:(("ssh",pid=20292,fd=4))

Как можно увидеть, идентификатор процесса в моём случае равен 20292 (строка «pid=20292»), тогда запускаем команду для закрытия этого процесса:

kill PID

т. е.

kill 20292

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *