Настройка удаленного рабочего стола

Редактировал(а) atsarkov 18.04.2025 10:04

Применимо к:

  • ОС "ОСнова" 2.x onyx
  • ОС "ОСнова" 3.x onyx

Удаленный доступ по протоколу VNC

Установка x11vnc

  1. На компьютер, к которому предполагается иметь удаленный доступ, необходимо установить сервер x11vnc. Для этого выполнить команду:
sudo apt install x11vnc
  1. Создать пароль для сервера командой:
x11vnc -storepasswd <пароль> /etc/x11vnc.pass

Команда x11vnc с опцией -storepasswd сохраняет пароль в файл, предварительно его зашифровав.

  1. Сделать этот файл доступным для чтения, выполнив команду:
sudo chmod ugo+r /etc/x11vnc.pass
  1. Запустить сервер  x11vnc командой:
x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /etc/x11vnc.pass

При таком способе запуска сервер x11vnc будет работать пока отрыта консоль из которой он был запущен.

  1. Проверить что сетевой порт прослушивается командой:
sudo ss -lntu

Если среди списка прослушиваемых портов есть 5900, значит сервер работает.
В настройках межсетевого экрана разрешить доступ удаленным клиентам по порту 5900.

information Для ОС "ОСнова" 3.x onyx в настройках межсетевого экрана firewalld необходимо разрешить подключение к порту 9090 по протоколу TCP

Для этого выполнить следующую команду:

sudo firewall-cmd --permanent --add-port=5900/tcp

Применить произведенные изменения командой:

sudo firewall-cmd --reload

Автозагрузка x11vnc с помощью systemd

  1. Создать скрипт для автоматического запуска сервера во время старта системы. Для этого создать конфигурационный файл сервиса systemd командой:
sudo nano /lib/systemd/system/x11vnc.service

Содержимое файла:

[Unit]
Description=VNC Server for X11
Requires=display-manager.service
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/bin/x11vnc -auth guess -display :0 -rfbauth /etc/x11vnc.pass -shared -forever -o /var/log/x11vnc.log
ExecStop=/usr/bin/x11vnc -R stop
Restart=on-failure
RestartSec=2

[Install]
WantedBy=multi-user.target
  1. Перечитать конфигурационные файлы systemd командой:
sudo systemctl daemon-reload
  1. Добавить созданный сервис в автозагрузку командой:
sudo systemctl enable x11vnc.service
  1. Запустить сервис командой:
sudo systemctl start x11vnc.service
  1. Проверить статус службы командой:
sudo systemctl status x11vnc.service

Для подключения к серверу с другого компьютера можно использовать любой  vnc-клиент, например Remmina.

Подключение к удаленному рабочему столу по протоколу VNC

  1. Для подключения к удаленному рабочему столу по протоколу VNC установить приложение Remmina. Для этого ввести команду:
sudo apt install remmina
  1. Запустить в меню "Приложения — Интернет" приложение "Клиент удалённого доступа к рабочему столу Remmina", выбрать тип соединения VNC, в поле для ввода указать ip-адрес x11vnc-сервера (удаленного компьютера).
    В окне аутентификации ввести пароль, который был создан на сервере для управления удаленным доступом.

Подключение к запущенной ранее сессии X11

  1. При необходимости получить доступ к уже запущенной сессии X11, создать скрипт для подключения командой:
sudo nano /bin/x11vncstart

Содержимое файла скрипта:

#!/bin/bash

x11vnc -rfbauth /etc/x11vnc.pass -noxdamage -bg -shared -dontdisconnect -many -noxfixes &
  1. Дать созданному скрипту права на выполнение командой:
sudo chmod ugo+x /bin/x11vncstart
  1. Подключение производить запуском скрипта из консоли:
x11vncstart

Удаленный доступ по протоколу RDP

Установка xrdp

  1. На компьютер, к которому предполагается иметь удаленный доступ, необходимо установить сервер xRDP командой:
sudo apt install xrdp
  1. Создать пользователя для управления удаленным доступом командой:
sudo adduser <name>
  1. Добавить пользователя в группу sudo командой:
sudo adduser <name> sudo
  1. Добавить пользователя в группу ssl-cert командой:
sudo adduser <name> ssl-cert
  1. Задать пароль для пользователя командой:
sudo passwd <name>
  1. Сервер xRDP допускает одновременное подключение нескольких компьютеров по протоколу RDP.
    При необходимости ограничить количество пользователей для одновременной работы на сервере. Количество устанавливается в файле /etc/xrdp/sesman.ini в блоке:
[Sessions]

; MaxSessions - Максимальное число подключений к xrdp серверу
; Type: integer
; Default: 0
MaxSessions=3

По умолчанию разрешен вход под пользователем root.
В целях безопасности это необходимо отключить в файле /etc/xrdp/sesman.ini в блоке:

[Security]
AllowRootLogin=false #true — разрешено, false - запрещено#
  1. Добавить сервис xRDP в автозагрузку командой:
sudo systemctl enable xrdp
  1. Для применения настроек перезапустить сервис командой:
sudo systemctl restart xrdp
  1. Проверить состояние сервиса командой:
sudo systemctl status xrdp
  1. Проверить что сетевой порт прослушивается командой:
sudo ss -lntu

Если среди списка прослушиваемых портов есть 3389, значит сервер работает.
В настройках межсетевого экрана разрешить доступ удаленным клиентам по порту 3389.

information Для ОС "ОСнова" 3.x onyx в настройках межсетевого экрана firewalld необходимо разрешить подключение к порту 9090 по протоколу TCP

Для этого выполнить следующую команду:

sudo firewall-cmd --permanent --add-port=3389/tcp

Применить произведенные изменения командой:

sudo firewall-cmd --reload

Подключение к удаленному рабочему столу по протоколу RDP

Из ОС ОСнова

  1. Для подключения к удаленному рабочему столу по протоколу RDP установить приложение Remmina. Для этого ввести команду:
sudo apt install remmina
  1. Запустить в меню "Приложения — Интернет" приложение "Клиент удалённого доступа к рабочему столу Remmina", выбрать тип соединения RDP, в поле для ввода указать ip-адрес xRDP-сервера (удаленного компьютера).
    В окне аутентификации ввести имя и пароль, которые были созданы на сервере для управления удаленным доступом.

Из Microsoft Windows

Для компьютеров с ОС Windows XP, Vista, Windows 7, 8, 8.1 и 10 подключение к удаленному рабочему столу осуществляется через встроенное приложение для подключения по RDP – «Подключение к удалённому рабочему столу» (Remote Desktop Connection в англоязычных ОС).
Для запуска в Windows зайти по пути "Пуск — Все приложения — Стандартные Windows — Подключение к удалённому рабочему столу" или нажать комбинацию клавиш Win+R и в открывшемся окне набрать mstsc.
В открывшемся окне набрать IP-адрес xRDP-сервера и нажать кнопку «Подключить». Далее в окне авторизации ввести имя пользователя и пароль.

Удаленный доступ через X2Go

Установка сервера X2Go

X2Go — это программное обеспечение для удаленного рабочего стола.
Поддерживает создание множественных подключений, возможность создания новых сессий и подключения к текущим,
устанавливается на ОС Windows, Mac OS, Linux.

  1. Для установки сервера на ОС Основа ввести команду:
sudo apt install x2goserver x2goserver-xsession

X2Go работает через SSH, поэтому должен быть запущен сервис sshd и в настройках межсетевого экрана разрешен доступ удаленным клиентам по порту 22.

information Для ОС "ОСнова" 3.x onyx в настройках межсетевого экрана firewalld необходимо разрешить подключение к порту 9090 по протоколу TCP

Для этого выполнить следующую команду:

sudo firewall-cmd --permanent --add-port=22/tcp

Применить произведенные изменения командой:

sudo firewall-cmd --reload
  1. Проверить статус сервиса X2Go командой:
sudo systemctl status x2goserver
  1. Рекомендуется создать непривилегированного пользователя для работы с окружением рабочего стола командой:
sudo adduser <name>

Подключение к удаленному рабочему столу через X2Go

Клиентское ПО X2Go имеет версии для Windows, Linux и OS X.

  1. Для установки клиентской части на ОС Основа ввести команду:
sudo apt-get install x2goclient
  1. В меню "Приложения — Интернет" появится иконка X2Go Client.
    После открытия потребуется настроить параметры:
    -Хост: IP-адрес машины;
    -Пользователь: имя учетной записи;
    -SSH-порт: если не менялся на клиенте, оставить 22.

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

Если необходимо соединение с активной сессией пользователя, то выбрать тип сессии «X2Go/X11 Desktop Sharing».