Android

Как установить и настроить vnc на centos 7

What makes VNC Connect Unique - IT Support

What makes VNC Connect Unique - IT Support

Оглавление:

Anonim

В этом руководстве мы расскажем вам, как установить и настроить VNC-сервер в системе CentOS 7. Мы также покажем вам, как безопасно подключиться к серверу VNC через туннель SSH.

Virtual Network Computing (VNC) - это графическая система общего доступа к рабочему столу, которая позволяет вам использовать клавиатуру и мышь для удаленного управления другим компьютером.

Предпосылки

Прежде чем продолжить обучение, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo. Мы предполагаем, что вы вошли как пользователь с именем linuxize .

Установка среды рабочего стола Xfce

При установке сервера CentOS часто не устанавливается среда рабочего стола, поэтому мы начнем с установки облегченной среды рабочего стола.

В этом руководстве мы будем устанавливать Xfce. Это быстрый, стабильный и мало системных ресурсов, что делает его идеальным для использования на удаленных серверах.

Пакеты Xfce доступны в репозиториях EPEL. Если на вашем сервере не включен репозиторий EPEL, вы можете сделать это, набрав:

sudo yum install epel-release

После добавления репозитория установите Xfce на CentOS с помощью:

sudo yum groupinstall xfce

В зависимости от вашей системы загрузка и установка пакетов и зависимостей Xfce может занять некоторое время.

Установка VNC-сервера

Мы будем использовать TigerVNC в качестве нашего VNC-сервера. TigerVNC - активно поддерживаемый высокопроизводительный VNC-сервер с открытым исходным кодом.

Введите следующую команду для установки TigerVNC на вашем сервере CentOS:

yum install tigervnc-server

Теперь, когда VNC-сервер установлен, следующий шаг - запустить команду vncserver которая создаст начальную конфигурацию и установит пароль. Не используйте sudo при выполнении следующей команды:

vncserver

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

You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n /usr/bin/xauth: file /home/linuxize/.Xauthority does not exist New 'server2.linuxize.com:1 (linuxize)' desktop at:1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

При первом vncserver команды vncserver она создаст и сохранит файл паролей в каталоге ~/.vnc который будет создан, если его не будет.

Обратите внимание :1 после имени хоста в выводе выше. Это указывает номер порта дисплея, на котором работает сервер vnc. В нашем случае сервер работает по TCP-порту 5901 (5900 + 1). Если вы создадите второй экземпляр с помощью vncserver он будет работать на следующем свободном порту, т.е :2 что означает, что сервер работает на порту 5902 (5900 + 2).

Важно помнить, что при работе с серверами VNC :X - это порт дисплея, который относится к 5900+X

Прежде чем перейти к следующему шагу, сначала остановите экземпляр VNC, используя команду vncserver с параметром -kill и номером сервера в качестве аргумента. В нашем случае сервер работает в порту 5901 ( :1 ), поэтому мы остановим его:

vncserver -kill:1

Killing Xvnc process ID 2432

Настройка VNC-сервера

Теперь, когда Xfce и TigerVNC установлены на нашем сервере CentOS, следующим шагом является настройка TigerVNC для использования Xfce. Для этого откройте следующий файл:

nano ~/.vnc/xstartup

И измените последнюю строку с exec /etc/X11/xinit/xinitrc на exec startxfce4 :

~ /.Vnc / XStartup

#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

Сохраните и закройте файл. Приведенный выше скрипт будет автоматически выполняться при каждом запуске или перезапуске сервера TigerVNC.

Вот пример:

~ /.Vnc / конфигурации

# securitytypes=vncauth, tlsvnc # desktop=sandbox geometry=1920x1080 # localhost # alwaysshared dpi=96

Создание файла модуля Systemd

Мы создадим файл модуля systemd, который позволит нам легко запускать, останавливать и перезапускать службу VNC по мере необходимости, так же, как и любую другую службу systemd.

Скопируйте файл модуля vncserver с помощью команды cp :

sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

Откройте файл в текстовом редакторе и замените с вашим настоящим именем пользователя.

sudo nano /etc/systemd/system/vncserver@\:1.service /etc/systemd/system/vncserver@:1.service

Description=Remote desktop service (VNC) After=syslog.target network.target Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' ExecStart=/usr/sbin/runuser -l linuxize -c "/usr/bin/vncserver %i" PIDFile=/home/linuxize/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' WantedBy=multi-user.target

Сохраните и закройте файл. Сообщите systemd, что мы создали новый файл модуля с:

sudo systemctl daemon-reload

Следующим шагом является включение файла модуля с помощью следующей команды:

sudo systemctl enable vncserver@:1.service

Число 1 после знака @ определяет порт дисплея, на котором будет работать служба VNC, в нашем случае это значение по умолчанию 1 и сервер VNC будет прослушивать порт 5901 как мы обсуждали в предыдущем разделе.

Запустите службу VNC, выполнив:

sudo systemctl start vncserver@:1.service

Убедитесь, что служба успешно запущена с:

sudo systemctl status vncserver@:1.service

● vncserver@:1.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2018-09-16 09:59:53 UTC; 4s ago Process: 6391 ExecStart=/usr/sbin/runuser -l linuxize -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS) Process: 6389 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 6413 (Xvnc) CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service ‣ 6413 /usr/bin/Xvnc:1 -auth /home/linuxize/.Xauthority -desktop server2.linuxize.com:1 (linuxize) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /home/linuxize/.vnc/passwd -rfbport…

Подключение к VNC серверу

VNC не является зашифрованным протоколом и может подвергаться перехвату пакетов. Рекомендуемый подход заключается в создании туннеля SSH, который будет безопасно перенаправлять трафик с вашего локального компьютера через порт 5901 на сервер на том же порту.

Настройка SSH-туннелирования в Linux и macOS

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

Вам будет предложено ввести пароль пользователя.

Не забудьте заменить username и server_ip_address своим именем пользователя и IP-адресом вашего сервера.

Настройка SSH-туннелирования в Windows

Откройте Putty и введите IP-адрес вашего сервера в поле Host name or IP address .

Теперь вы можете начать взаимодействие с удаленным рабочим столом XFCE с локального компьютера с помощью клавиатуры и мыши.

Вывод

К настоящему времени у вас должен быть запущен и запущен сервер VNC, и вы можете легко управлять своим сервером CentOS 7 с помощью графического интерфейса.

Чтобы настроить VNC-сервер для запуска отображения для более чем одного пользователя, создайте начальную конфигурацию и задайте пароль с помощью команды vncserver и создайте новый файл службы, используя другой порт.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Centos VNC