- Удаленный рабочий стол
- Hokku San
- Kolo
- Установка vnc4server на Ubuntu Server 18.04 LTS
- Установка xfce и vnc4server
- Настройка VNC-сервера
- Запуск VNC-сервера
- Подключение VNC-серверу
- Запуск при загрузке
- Безопасное подключение
- Устанавливаем браузер
- Смоленск 1.6 Удаленный доступ к графическому интерфейсу
- Fd1501h
- q0p
- OIvanov
- Windows → Linux
- Взаимодействие по протоколу XDMCP с использованием X-сервера для Windows
- Взаимодействие по протоколу RDP
- Взаимодействие по протоколу RDP и vino
- Astra → Windows
- XfreeRDP
- Linux → Linux
- VNC
- Зашифрованный канал связи ssh
- Не зашифрованный XDMCP
Удаленный рабочий стол
День добрый, вопрос знатокам. Есть Astra Linux SE 1.4 (smolensk). Надо на него заходить удаленным рабочим столом. Следовательно нужен какой то vnc-сервер. Тот что есть в дистрибутиве vnc4server при заходе дает новую сессию. А вот этого как раз мне не нужно. Мне нужно видеть те приложения, что запущены у пользователя. Собственно сам вопрос, вернее даже 2. Есть ли такая возможность законектиться к текущей сессии пользователя с помощью vnc4server (как его тогда настроить)? Если нет может есть другой вариант какого то сервиса?
Hokku San
New member
Kolo
New member
sudo apt-get install vino
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного, или же используете нестабильную версию дистрибутива, где запрошенные вами пакеты ещё не созданы или были удалены из Incoming. Следующая информация, возможно, поможет вам:
Пакеты, имеющие неудовлетворённые зависимости:
udev : Ломает: consolekit ( < 0.4.6-1) но 0.4.5-3.1 будет установлен
E: Ошибка, pkgProblemResolver::Resolve сгенерировал повреждённые пакеты. Это может быть вызвано отложенными (held) пакетами.
Поначалу в дистре vino не было от слова совсем. После того как подцепили дебиановсие источники появилось. Но идет ругань на залом пакетов. На машинке стоит некое ПО (чужое,покупное) из за которого собственно и весь сыр бор. И ставить что то, ломая пакеты, с риском потерять работоспособность этого ПО не комильфо ни разу. Та же ситуация с x11vnc и tighvncserver. Раньше (до того как приключилась с нами Astra) мы их ставили и горя не знали. А ноне же вот имеем такой горький катаклизьм. В данный момент есть решение, выключить графическую компоненту, и запустить ее под той сессией что будет смотреть удаленный юзер. Но 1) Смотреть сможет только 1 юзер, что не есть хорошо и 2) это не решение, это костыль. Должен быть нормальный заход какой то для решения подобных задач.
Установка vnc4server на Ubuntu Server 18.04 LTS
По умолчанию серверы Ubuntu 18.04 поставляются без предустановленного графического окружения рабочего стола и сервера VNC. Потому сначала нужно установить эти компоненты. Мы будем использовать пакеты xfce4 и vnc4server, доступные в официальном репозитории Ubuntu.
Установка xfce и vnc4server
Сначала устанавливаем пакет xfce4:
$ sudo apt update $ sudo apt install xfce4 xfce4-goodies
Следом за ним — пакет vnc4server:
$ sudo apt install vnc4server
Настройка VNC-сервера
Устанавливаем пароль для доступа к VNC-серверу:
$ vncpasswd Password: пароль Verify: пароль
Пароль будет сохранен в файл ~/.vnc/passwd . Теперь создадим файл ~/.vnc/xstartup файл для запуска рабочего стола xfce4:
#!/bin/bash xrdb $HOME/.Xresources startxfce4 &
Этот файл нужно сделать исполняемым:
Запуск VNC-сервера
Теперь можно запустить VNC-сервер:
$ vncserver New 'vnc-server:1 (evgeniy)' desktop is vnc-server:1 Starting applications specified in /home/evgeniy/.vnc/xstartup Log file is /home/evgeniy/.vnc/vnc-server:1.log
Сервер прослушивает порт 5901 (или :1), при запуске еще одного экземпляра сервера — он будет прослушивать порт 5902 (или :2). Посмотреть список серверов, которые запущены в данный момент:
$ ps -ef | grep vnc | awk '' evgeniy 29181 1 0 10:29 tty1 00:00:00 Xvnc4 :1 -desktop vnc4server:1 (evgeniy) -auth /home/evgeniy/.Xauthority evgeniy 29309 1 0 10:30 tty1 00:00:00 Xvnc4 :2 -desktop vnc4server:2 (evgeniy) -auth /home/evgeniy/.Xauthority evgeniy 29435 976 0 10:31 tty1 00:00:00 grep --color=auto vnc
Остановить сервер можно командой:
Можно запускать сервер с параметрами:
$ vncserver -depth 24 -geometry 1200x800 :1
Подключение VNC-серверу
На другой машине запускаем VNC-клиент Remmina и подключаемся к серверу:
Перед подключением надо открыть пару портов на той машине, где установлен VNC-сервер, чтобы фаервол не блокировал подключение:
$ sudo ufw allow 5901:5902/tcp
Запуск при загрузке
Теперь нужно настроить сервер VNC как сервис Systemd, чтобы он запускался при загрузке системы. Для этого создаем новый unit-файл:
$ sudo nano /etc/systemd/system/vncserver@.service
Символ @ в конце имени файла позволит нам передать аргумент, который можно использовать в конфигурации сервиса. С его помощью можно указать порт VNC, который нужно использовать при управлении сервисом.
[Unit] Description=Start vnc4server at startup After=syslog.target network.target [Service] Type=forking User=evgeniy Group=evgeniy WorkingDirectory=/home/evgeniy PIDFile=/home/evgeniy/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i &> /dev/null ExecStart=/usr/bin/vncserver -depth 24 -geometry 1200x800 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
Команда ExecStartPre останавливает VNC, если сервис уже запущен. Команда ExecStart запускает VNC-сервер, а команда ExecStop — останавливает. Давайте сообщим системе про новый unit-файл:
$ sudo systemctl daemon-reload
Добавляем две службы в автозагрузку:
$ sudo systemctl enable vncserver@1.service $ sudo systemctl enable vncserver@2.service
Теперь, после загрузки системы, VNC-сервер будет прослушивать порты 5901 и 5902. И мы можем подключиться на любом из них.
Безопасное подключение
При подключении VNC не использует безопасные протоколы. Давайте на машине с VNC-сервером установим SSH-сервер:
$ sudo apt install openssh-server
После чего создадим ssh-туннель от клиента к серверу. Для этого на клиенте выполняем команду:
$ ssh -L 5901:127.0.0.1:5901 evgeniy@192.168.110.17 evgeniy@192.168.110.17's password: пароль Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-72-generic x86_64)
Теперь на клиенте при подключении к VNC-серверу указываем не 192.168.110.17:5901 , а localhost:5901 . Мы как бы подключаемся к локальной машине, но соединение будет проброшено через ssh-туннель на машину с VNC-сервером.
Держать открытыми порты 5901 и 5902 больше не нужно, так что закрываем:
$ sudo ufw delete allow 5901:5902/tcp
Устанавливаем браузер
При подключении у нас есть рабочий стол, файловый менеджер, терминал. Но не хватает браузера, так что давайте установим:
$ sudo apt install firefox-locale-ru
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- 1С:Предприятие (31)
- API (29)
- Bash (43)
- CLI (99)
- CMS (139)
- CSS (50)
- Frontend (75)
- HTML (66)
- JavaScript (150)
- Laravel (72)
- Linux (143)
- MySQL (76)
- PHP (125)
- React.js (66)
- SSH (27)
- Ubuntu (66)
- Web-разработка (509)
- WordPress (73)
- Yii2 (69)
- БазаДанных (95)
- Битрикс (66)
- Блог (29)
- Верстка (43)
- ИнтернетМагаз… (84)
- КаталогТоваров (87)
- Класс (30)
- Клиент (27)
- Ключ (28)
- Команда (68)
- Компонент (60)
- Конфигурация (59)
- Корзина (32)
- ЛокальнаяСеть (28)
- Модуль (34)
- Навигация (31)
- Настройка (137)
- ПанельУправле… (29)
- Плагин (33)
- Пользователь (26)
- Практика (99)
- Сервер (74)
- Событие (27)
- Теория (104)
- Установка (65)
- Файл (47)
- Форма (58)
- Фреймворк (192)
- Функция (36)
- ШаблонСайта (68)
Смоленск 1.6 Удаленный доступ к графическому интерфейсу
Ребята, когда вы наконец-то сделаете подробную и понятную инструкцию по установке VNC-сервера, которая будет работать на всех машинах сразу, без предварительного запуска и не вылетать после смены пользователя или иных вполне привычных операций?
Fd1501h
Moderator
Ребята, когда вы наконец-то сделаете подробную и понятную инструкцию по установке VNC-сервера, которая будет работать на всех машинах сразу, без предварительного запуска и не вылетать после смены пользователя или иных вполне привычных операций?
q0p
New member
Чтобы пользователям показывать какую кнопочку тыкнуть. Обучение по астре проводится лишь формально, за полчаса видеоролика люди асами в астре не станут.
OIvanov
New member
Ребята, когда вы наконец-то сделаете подробную и понятную инструкцию по установке VNC-сервера, которая будет работать на всех машинах сразу, без предварительного запуска и не вылетать после смены пользователя или иных вполне привычных операций?
Абсолютно рабочего варианта с VNC я не обнаружил, но скажу следующее:
1) В Astra Linux v 1.6 по-умолчанию есть VNC-сервер vino и подобные tigervnc, но эти вещи не работают достаточно хорошо, ибо встречаются проблемы с вылетами из системы и т.п.
2) Из более-менее нормально работающих средств, наиболее приемлемым считаю x11vnc.
Для установки на AL 1.6 мне потребовались следующие пакеты:
libvncclient1_0.9.11+dfsg-1.3~deb9u1_amd64.deb
libvncserver1_0.9.11+dfsg-1.3~deb9u1_amd64.deb
x11vnc-data_0.9.13-2+deb9u1_all.deb
x11vnc_0.9.13-2+deb9u1_amd64.deb
Все эти вещи скачивал из интернета, подправил под себя скрипт из https://forum.astralinux.ru/threads/1086/
Но в боевых системах такой набор использовать нельзя, так как x11vnc не входит в состав Астры, да и установить его без интернета/флешки, попросту не получится.
Других ЛЕГАЛЬНЫХ (помимо vino) средств удалённого доступа Linux-Linux, мне найти не удалось
Windows → Linux
Взаимодействие по протоколу XDMCP с использованием X-сервера для Windows
Необходимо установить на windows открытый и бесплатный проект: Х сервер: VcXsrv
Для работы VcXsrv необходим Windows7 или выше c обновлением KB2999226. Service Pack1 для Windows7 ломает взаимодействие по rdp, но если поставить все обновления до 1.09.2016 функциональность rdp восстанавливается.
На сервере Astra-Linux в /etc/X11/fly-dm/Xaccess заменить localhost на *, и перезагрузить ОС или сервис fly-dm.
На windows клиенте запустить Xlaunch
Выбрать One large window
Выбрать XDMCP сессию
Поиск хостов
оставить параметры по умолчанию
И готово
Появится окно с хостами, где разрешено удаленное подключение по XDMCP
Необходимо выбрать нужный хост и нажать коннект
Взаимодействие по протоколу RDP
При подключении через «удаленный рабочий стол» выбрать » session-xorgxrdp «
Ввести логин, пароль и нажать «ОК»
При подключении создается отдельная сессия.
Взаимодействие по протоколу RDP и vino
Наши разработчики сделали вариант xrdp и vino, позволяющие использовать режим «интерактивной доски» с авторизацией клиентов. Также это подойдет для настройки удаленного доступа.
P.S. Это ПО будет сертифицировано в составе Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6).
Скачать vino и libtelepathy_glib:
sudo dpkg -i ~/Загрузки/vino_3.20.2-1astra1_amd64.deb
sudo dpkg -i ~/Загрузки/ libtelepathy-glib0_0.18.2-2_amd64.deb
Нужно запустить (из под учетной записи пользователя) vnc-сервер командой:
Настройка пароля для vnc-сервера.
Для того, чтобы vnc-сервер запрашивал пароль, при подключение клиентской машины, на сервере необходимо установить пакет libglib2.0-bin
gsettings set org.gnome.Vino authentication-methods «[‘vnc’]»
gsettings set org.gnome.Vino vnc-password «$(echo -n «пароль» | base64)»
Настройка vnc-клиента.
Для подключения пользовательской машины к серверу необходимо воспользоваться стандартным rdp клиентом, указав ip-адрес сервера:
При подключении к серверу, в меню приглашения выбрать пункт vnc-any, указать ip-адрес сервера, и пароль к сессии:
Astra → Windows
XfreeRDP
«Система» -> «Удалённый доступ» -> «Предоставить возможность подключения к другим компьютерам с рабочими столами любой версии».
Linux → Linux
VNC
сервер (Astra):
Залогиниться в системе под пользователем
Запустить сервер VNC:
описание:
VNC-сервер позволяет подключаться к текущему сеансу пользователя других клиентов
Зашифрованный канал связи ssh
На сервере установить в /etc/ssh/sshd_config
X11Forwarding yes X11UseLocalhost no
ForwardX11 yes ForwardX11 Trusted yes
Не зашифрованный XDMCP
сервер: fly-dm
клиент: fly-dm
На сервере Astra-Linux в /etc/X11/fly-dm/Xaccess заменить localhost на *
# In all cases, xdm uses the first entry which matches the terminal; # for IndirectQuery messages only entries with right hand sides can # match, for Direct and Broadcast Query messages, only entries without # right hand sides can match. # * #any host can get a login window #
и перезапустить fly-dm: