Подробный гайд по настройке VNC-сервера в Astra Linux

Руководство по настройке VNC-сервера в Astra Linux: x11vnc и TigerVNC, автозапуск, безопасность, совместимость с ФСТЭК.

2026.05.03                  


Подробный гайд по настройке VNC-сервера в Astra LinuxПодробный гайд по настройке VNC-сервера в Astra Linux

Важное уточнение перед началом:

Пакет vino (VNC-сервер для GNOME) давно не поддерживается в современных дистрибутивах Linux. В GNOME он был удалён ещё в 2017 году, а в Astra Linux (особенно в редакции «Орёл» с MATE и «Смоленск») его использование не рекомендуется: он нестабилен, не получает обновлений безопасности и может конфликтовать с системными политиками.

Ниже приведён актуальный гайд по двум надёжным методам, адаптированным под Astra Linux (Common и Special Edition).


Выбор метода

Метод Подключение к Когда использовать
x11vnc Текущей графической сессии (экран, где работает пользователь) Удалённая помощь, демонстрация, работа с уже открытыми приложениями
TigerVNC Виртуальной X-сессии (отдельный рабочий стол) Серверный доступ, headless-машины, многопользовательский доступ

Способ 1: Настройка x11vnc (подключение к текущему экрану)

1. Установка

sudo apt update
sudo apt install x11vnc

2. Генерация пароля

mkdir -p ~/.vnc
x11vnc -storepasswd
# Файл сохранится в ~/.vnc/passwd

3. Ручной запуск (для теста)

x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat \
       -rfbauth ~/.vnc/passwd -rfbport 5900 -shared -noxfixes

Проверка:

подключитесь VNC-клиентом к IP_сервера:5900.

4. Создание systemd-сервиса для автозапуска

sudo nano /etc/systemd/system/x11vnc.service

Вставьте:

[Unit]
Description=x11vnc Remote Desktop Server
After=display-manager.service

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -auth guess -forever -loop \
          -noxdamage -repeat -rfbauth /home/%u/.vnc/passwd -rfbport 5900 -shared -noxfixes
Restart=on-failure
User=%i
Environment=HOME=/home/%i

[Install]
WantedBy=multi-user.target

Замените %i на имя пользователя, от имени которого будет запускаться сервис, или используйте User=ваш_пользователь.

Активация:

sudo systemctl daemon-reload
sudo systemctl enable --now x11vnc.service
sudo systemctl status x11vnc.service

5. Настройка фаервола

sudo ufw allow 5900/tcp
sudo ufw status

В редакции «Смоленск» могут применяться правила iptables или политики Мандатного контроля доступа. Проверьте их через sudo iptables -L -n и secpol.


Способ 2: Настройка TigerVNC (виртуальные сессии)

1. Установка

sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common

2. Инициализация и пароль

vncpasswd
# Введите пароль (макс. 8 символов для VNC-протокола)
# На вопрос "Would you like to enter a view-only password?" ответьте n

3. Настройка сессии

mkdir -p ~/.vnc
nano ~/.vnc/xstartup

Вставьте (для MATE/Astra CE):

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec mate-session &

Для Astra Linux SE (Fly):

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec fly-wm &
chmod +x ~/.vnc/xstartup

4. Запуск сессии

vncserver :1 -geometry 1920x1080 -depth 24

Подключение к IP_сервера:5901 (порт 5900 + номер дисплея).

5. Автозапуск через systemd

sudo nano /etc/systemd/system/vncserver@.service
[Unit]
Description=TigerVNC Server
After=syslog.target network.target

[Service]
Type=forking
User=%i
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i
Restart=on-failure

[Install]
WantedBy=multi-user.target

Активация для пользователя denis:

sudo systemctl daemon-reload
sudo systemctl enable --now vncserver@1.service

Безопасность и особенности Astra Linux

Аспект Рекомендация
Шифрование VNC не шифрует трафик. Обязательно используйте SSH-туннель: ssh -L 5900:localhost:5900 user@host или x11vnc -ssl / TigerVNC -SecurityTypes TLSVnc
Редакция «Смоленск» (SE) Мандатный контроль доступа (МКД) и политики ФСТЭК могут блокировать VNC-процессы. Проверьте: secpol -v, pdpl -l. В сертифицированных контурах VNC часто запрещён.
Доступ от root Никогда не запускайте VNC от root. Используйте непривилегированного пользователя.
Аудит Включите логирование: sudo journalctl -u x11vnc -f или ~/.vnc/*.log
Обновления Регулярно обновляйте: sudo apt upgrade x11vnc tigervnc-standalone-server

Диагностика проблем

Симптом Решение
No matching security types Клиент не поддерживает тип шифрования сервера. Запустите с -SecurityTypes VncAuth
Cannot open /tmp/.X11-unix/X0 Запустите x11vnc от имени пользователя, вошедшего в сессию, или добавьте -auth /run/user/1000/gdm/Xauthority
Чёрный экран при подключении Проверьте ~/.vnc/xstartup (должен быть исполняемым и запускать DE)
Порт недоступен sudo ss -tlnp | grep 590 и sudo ufw status
Падение после входа в систему В Astra SE проверьте политики МПК: pdpl -c x11vnc

Альтернативы (рекомендуемые для Astra Linux)

  1. xrdp → Протокол RDP, встроен в Windows, стабильнее VNC. Установка: sudo apt install xrdp
  2. Встроенный «Удалённый рабочий стол» (Astra Linux 1.8+) → Настройки → Система → Удалённый рабочий стол (на базе gnome-remote-desktop/xrdp)
  3. RustDesk / AnyDesk → Кроссплатформенные, с шифрованием и обходом NAT (проверьте соответствие требованиям ИБ)
  4. SSH + X11 Forwardingssh -X user@host (для запуска отдельных приложений без VNC)

Итог

  • vino не рекомендуется для Astra Linux. Используйте x11vnc (для текущего экрана) или TigerVNC (для виртуальных сессий).
  • В Astra Linux SE проверяйте совместимость с политиками безопасности ФСТЭК/МПК.
  • Всегда шифруйте трафик (SSH-туннель или TLS).
  • Для production-сред рассмотрите xrdp или сертифицированные решения удалённого доступа.