Пятница, 19.01.2024 12:28

Соединение с удаленным рабочим столом в РЕДОС Linux с помощью X11VNC

Соединение с удаленным рабочим столом в РЕДОС Linux с помощью x11vnc

Сегодня мы рассмотрим соединение с удаленным рабочим столом РЕДОС Linux с помощью VNC.

Удаленный доступ может быть полезен как при администрировании серверов и ПК, так и для помощи пользователям.

Для организации доступа к ПК и серверам с помощью протокола VNC создано большое количество программ и серверов. Сегодня мы рассмотрим сервер x11vnc.

В отличии от других этот сервер очень прост в настройке. По сравнению с другими VNC-серверами, у него и не очень богатый функционал. Если вам необходимо быстро организовать удаленное подключение к рабочему столу - он вам идеально подойдет!

Изначально x11vnc создавался для организации доступа к ПК по запросу – пользователь сам должен запустить сервер и разрешить подключение. Мы же рассмотрим установку сервера как постоянно работающей службы.

Установка X11VNC в РЕДОС Linux

Установим требуемые пакеты:

su
dnf install x11vnc

Установим пароль для доступа:

x11vnc -storepasswd "Pa\$\$w0rd" /etc/vncpasswd

Пароль у нас будет

Pa$$w0rd

Обратите внимание мы экранируем символы $ с помощью \ - это важно помнить!

Создадим файл службы:

mcedit /lib/systemd/system/x11vnc.service

С содержимым

[Unit]
Description=x11vnc server for GDM
After=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -many -shared -display :0 -auth guess -noxdamage -rfbauth /etc/vncpasswd -repeat
Restart=on-failure
RestartSec=3

[Install]
WantedBy=graphical.target

Перезапустим

systemctl daemon-reload

Включим службу

systemctl enable x11vnc.service

Запустим службу:

systemctl start x11vnc.service

Проверим статус:

systemctl status x11vnc.service
● x11vnc.service - x11vnc server for GDM
     Loaded: loaded (/usr/lib/systemd/system/x11vnc.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2024-01-15 00:00:00 MSK; 4s ago
   Main PID: 19273 (x11vnc)
      Tasks: 1 (limit: 2287)
     Memory: 7.6M
        CPU: 1.070s
     CGroup: /system.slice/x11vnc.service
             └─19273 /usr/bin/x11vnc -many -shared -display :0 -auth guess -noxdamage -rfbauth /etc/vncpasswd

янв 15 00:00:00 RedPC.soft.altuninvv.ru x11vnc[19273]: 15/01/2024 00:00:00
янв 15 00:00:00 RedPC.soft.altuninvv.ru x11vnc[19273]: The VNC desktop is:      RedPC.soft.altuninvv.ru:1
янв 15 00:00:00 RedPC.soft.altuninvv.ru x11vnc[19273]: PORT=5901
янв 15 00:00:00 RedPC.soft.altuninvv.ru x11vnc[19273]: ******************************************************************************
янв 15 00:00:00 RedPC.soft.altuninvv.ru x11vnc[19273]: Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?
янв 15 00:00:00 RedPC.soft.altuninvv.ru x11vnc[19273]: The scheme stores pixel data offscreen on the VNC viewer side for faster
янв 15 00:00:00 RedPC.soft.altuninvv.ru x11vnc[19273]: retrieval.  It should work with any VNC viewer.  Try it by running:
янв 15 00:00:00 RedPC.soft.altuninvv.ru x11vnc[19273]:    x11vnc -ncache 10 ...
янв 15 00:00:00 RedPC.soft.altuninvv.ru x11vnc[19273]: One can also add -ncache_cr for smooth 'copyrect' window motion.
янв 15 00:00:00 RedPC.soft.altuninvv.ru x11vnc[19273]: More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

Настройка pfSense для работы с VNC

В статье – ссылка мы настроили проброс SSH-порта в pfSense для РЕДОС Linux. Для тех, кто будет продолжать работать в настроенной виртуальной среде я привожу правило для проброса портов для VNC.

В этот раз мы настраиваем проброс диапазона портов с 5900 по 5910:

                <rule>
                        <source>
                               <any></any>
                        </source>
                        <destination>
                               <network>wanip</network>
                                <port>5900-5910</port>
                        </destination>
                       <ipprotocol>inet</ipprotocol>
                       <protocol>tcp</protocol>
                       <target>172.16.0.17</target>
                       <local-port>5900</local-port>
                       <interface>wan</interface>
                       <descr></descr>
                       <associated-rule-id>pass</associated-rule-id>
                        <created>
                               <time>1705017600</time>
                               <username><![CDATA[admin (Local Database)]]></username>
                        </created>
                        <updated>
                               <time>1705017600</time>
                               <username><![CDATA[admin (Local Database)]]></username>
                        </updated>
               </rule>

Подключаемся к РЕДОС Linux с помощью TigerVNC

Для доступа к РЕДОС Linux по протоколу VNC мы будем использовать TigetVNC.

Скачаем дистрибутив для Windows:

https://sourceforge.net/projects/tigervnc/files/stable/1.13.1/vncviewer64-1.13.1.exe/download

Программа не требует установки и её можно просто запустить!

После запуска откроется окно:

1

Введем адрес сервера и порт, в нашем случае это адрес pfSense и первый порт из диапазона проброшенных портов:

192.168.1.20:5900

Откроется окно с запросом пароля:

2

Обратите внимание, нас предупреждают о том, что наше соединение не защищено, но об этом мы позаботимся в следующей статье, в данный момент нам необходимо позаботится о работоспособности удаленного доступа в целом.

Введем пароль, в нашем случае это

Pa$$w0rd

Откроется окно с удаленным рабочим столом:

3

Теперь вы можете работать с удаленным ПК, как это происходит при работе по RDP. Главным отличием является то, что мы подключаемся к уже существующему сеансу.

Давайте зайдем в систему и откроем сайт:

А теперь откроем консоль Hyper-V нашей виртуальной машины с РЕДОС Linux:

Как видите при подключении к порту 5900 мы подключаемся к экрану ПК, что очень удобно, если необходимо удаленно оказать помощь пользователю.

Заключение

Сегодня мы рассмотрели установку сервера x11vnc для организации удаленного доступа к рабочему столу через VNC:

Установили службу;

Настроили пароль для доступа;

Установили, настроили,  и запустили x11vnc как службу;

Настроили проброс портов в pfSense для VNC;

Загрузили клиент TigerVNC;

Соединились с удаленным рабочим столом.

Категория Red Linux
Теги РЕДОС VNC

Добавить комментарий

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Просмотров: 284