Введение
Gnome — свободная среда рабочего стола Gnome, т.е. он выступает в роли рабочего стола для операционных систем Linux.
Он разрабатывается еще с 1997 года для Unix систем, и все еще продолжает обновляться и поддерживаться разработчиками.
В этой публикации я разберу установку Gnome на операционную систему Oracle Linux версии 8.6.
Настроим свой собственный VNC сервер для удаленного подключения и управления через графическую оболочку.
Вы можете воспользоваться услугами Serverspace для создания и аренды своего сервера с операционной системой Oracle Linux.
Начало работы
Предварительно авторизовавшись на сервере, я вхожу в привилегированный режим, что бы каждый раз не запускать команды через «sudo»
su
Перед установкой графической оболочки на ваш сервер, обновите программы прописав команду.
yum update
После обновления программ, установите графическую среду рабочего стола.
yum groupinstall "Server with GUI"
Установка может занять до 15 минут.
После установки графической оболочки вы можете включить запуск системы в графическом интерфейсе, выполнив команду.
systemctl set-default graphical
Перезапустите сервер для принятия указанных настроек.
reboot
Настройка файла конфигурации
Перезагрузив сервер, нам требуется раскомментировать параметр в файле конфигурации «custom.conf» используйте для этого текстовый редактор на свой выбор.
nano/etc/gdm/custom.conf
Таким образом мы понимаем что vnc использует x.org вместо wayland.
Установка VNC
Устанавливаем пакет программы VNC и его зависимости.
yum install -y tigervnc-server tigervnc-server-module
После установки VNC сервера, требуется установить пароль vnc для нашего пользователя используя команду.
vncpasswd
После создания пароля для подключения пользователя, вам предложат создать пароль только для просмотра сервера, тем самым вы можете передать его для демонстрации экрана сервера.
Таким образом, у пользователя нету прав для работы на сервере, но есть права для просмотра рабочего экрана.
Настройка конфигов VNC
Для удаленного подключения по VNC требуется предварительно указать разрешенных пользователей на подключение внеся имя пользователя в конфигурационный файл.
Измените конфиг используя текстовый редактор на ваш выбор.
nano /etc/tigervnc/vncserver.users
Я добавил пользователя «root» и выдал ему первый порт на подключение.
Примечание: Не забудьте сохранить конфигурационный файл перед выходом!
Чтобы изменить разрешение экрана сервера, вам требуется изменить параметр в конфиге «vncserver-config-defaults».
Измените конфиг, используя текстовый редактор на ваш выбор.
nano /etc/tigervnc/vncserver-config-defaults
Параметр «geometry» отвечает за разрешение экрана удаленного рабочего стола.
Так же в этом файле конфигурации можно изменить название сессии, я поменял его на «serverspace» для теста.
Перезагрузите файлы конфигурации системы.
systemctl daemon-reload
Запуск и проверка
Запустите VNC сервер указав порт который мы указали для нашего пользователя.
systemctl enable --now vncserver@:1.service
Что бы проверить статус нашего VNC сервера, используйте команду.
systemctl status vncserver@:1.service
Как мы можем заметить, Xvnc слушает порт 5901 что говорит о его работоспособности.
После выполненной проверки открытого порта, можно перейти в любое приложение vnc клиента, и подключиться к удаленному серверу.
Я буду демонстрировать подключение используя программу “VNC Viewer”.
Укажите айпи-адрес вашего сервера + порт который вы указали при запуске VNC сервера.
В появившемся диалоговом окне введите пароль который создали для авторизации vnc клиента. Если вы введете пароль созданный как “только для просмотра”, то прав на управление сервером у вас не будет, но у вас будет возможность следить за изменениями другого пользователя.
После подключения вам потребуется ввести пароль от пользователя через которого вы подключаетесь, в моем случае пароль от пользователя root.
Опционально про безопасность
VNC передает трафик в незашифрованном виде, тем самым уменьшает вашу безопасность, ведь если трафик не защищен – то злоумышленник может использовать это против вас, перехватив подключение и заполучить определенные данные.
Чтобы этого избежать, можно обезопасить себя создав уникальное подключение и указав вместо нашего ip адреса, наименование локальной машины, тем самым злоумышленник не будет знать ip адрес сервера на который мы подключаемся.
Весь процесс подключение будет реализован на операционной системе Windows 10.
Так как я использую ssh аутентификацию через ключи, то я предварительно создал их на своем компьютере используя команду.
ssh-keygen -t ed25519
Создал openssh ключ “SshKey” который будет расположен в каталоге “C:\” для удаленного подключения к серверу.
Укажите созданный публичный ключ в файле конфигурации разрешенных клиентов на подключение.
nano ~/.ssh/authorized_keys
Создайте уникальное подключение используя “powershell”.
ssh -L 5901:localhost:5901 -i .\SshKey root@ip_of_your_server
После подключения откройте VNC клиент и вместо ip сервера укажите localhost:port.
localhost:5901
После этого пройдите авторизацию точно так же, как делали до этого, используя созданный пароль от VNC.
Подключение произошло успешно.
Вывод
В этой публикации я разобрал как установить, запустить и настроить свой VNC сервер удаленного подключения, а так же как можно его обезопасить.
Помимо vnc сервера, существует альтернатива в виде “xrdp” которая позволяет использовать протокол Windows “rdp” для подключения к серверам на операционной системе Linux.