Подробный гайд по настройке 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)
xrdp→ Протокол RDP, встроен в Windows, стабильнее VNC. Установка:sudo apt install xrdp- Встроенный «Удалённый рабочий стол» (Astra Linux 1.8+) → Настройки → Система → Удалённый рабочий стол (на базе
gnome-remote-desktop/xrdp) - RustDesk / AnyDesk → Кроссплатформенные, с шифрованием и обходом NAT (проверьте соответствие требованиям ИБ)
- SSH + X11 Forwarding →
ssh -X user@host(для запуска отдельных приложений без VNC)
Итог
vinoне рекомендуется для Astra Linux. Используйтеx11vnc(для текущего экрана) илиTigerVNC(для виртуальных сессий).- В Astra Linux SE проверяйте совместимость с политиками безопасности ФСТЭК/МПК.
- Всегда шифруйте трафик (SSH-туннель или TLS).
- Для production-сред рассмотрите
xrdpили сертифицированные решения удалённого доступа.