Соединение с удаленным рабочим столом в РЕДОС 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
Программа не требует установки и её можно просто запустить!
После запуска откроется окно:
Введем адрес сервера и порт, в нашем случае это адрес pfSense и первый порт из диапазона проброшенных портов:
192.168.1.20:5900
Откроется окно с запросом пароля:
Обратите внимание, нас предупреждают о том, что наше соединение не защищено, но об этом мы позаботимся в следующей статье, в данный момент нам необходимо позаботится о работоспособности удаленного доступа в целом.
Введем пароль, в нашем случае это
Pa$$w0rd
Откроется окно с удаленным рабочим столом:
Теперь вы можете работать с удаленным ПК, как это происходит при работе по RDP. Главным отличием является то, что мы подключаемся к уже существующему сеансу.
Давайте зайдем в систему и откроем сайт:
А теперь откроем консоль Hyper-V нашей виртуальной машины с РЕДОС Linux:
Как видите при подключении к порту 5900 мы подключаемся к экрану ПК, что очень удобно, если необходимо удаленно оказать помощь пользователю.
Заключение
Сегодня мы рассмотрели установку сервера x11vnc для организации удаленного доступа к рабочему столу через VNC:
Установили службу;
Настроили пароль для доступа;
Установили, настроили, и запустили x11vnc как службу;
Настроили проброс портов в pfSense для VNC;
Загрузили клиент TigerVNC;
Соединились с удаленным рабочим столом.
Добавить комментарий