Linux vnc server port

Linux vnc server port

This chapter describes how to enable a Virtual Network Computing (VNC) server to provide remote access to a graphical desktop.

About VNC

Virtual Network Computing (VNC) is a system for sharing a graphical desktop over a network. A VNC client (the «viewer») connects to, and can control, a desktop that is shared by a VNC server on a remote system. Because VNC is platform independent, you can use any operating system with a VNC client to connect to a VNC server. VNC makes remote administration using graphical tools possible.

By default, all communication between a VNC client and a VNC server is not secure. You can secure VNC communication by using an SSH tunnel. Using an SSH tunnel also reduces the number of firewall ports that need to be open. Oracle recommends that you use SSH tunnels.

Configuring a VNC Server

To configure a VNC server:

    Install the tigervnc-server package:

sudo yum install tigervnc-server
su - vncuser vncpasswd Password: password Verify: password
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@\:display.service

In the previous command, display is the unique display number of the VNC desktop, starting from 1 . Use a backslash character ( \ ) to escape the colon ( : ) character. Each VNC desktop is associated with a user account. For ease of administration if you have multiple VNC desktops, you can include the name of the VNC user in the name of the service unit configuration file, for example:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver-vncuser@\:display.service
[Service] Type=forking WorkingDirectory=/home/vncuser User=vncuser Group=vncuser # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver %i PIDFile=/home/vncuser/.vnc/%H%i.pid ExecStop=/usr/bin/vncserver -kill %i

Optionally, you can add command-line arguments for the VNC server. In the following example, the VNC server only accepts connections from localhost , which means the VNC desktop can only be accessed locally or through an SSH tunnel; and the size of the window has been changed from the default 1024×768 to 640×480 using the geometry flag:

ExecStart=/usr/bin/vncserver %i -localhost -geometry 640x480 PIDFile=/home/vncuser/.vnc/%H%i.pid
sudo systemctl daemon-reload
sudo systemctl start vncserver-vncuser@\:display.service sudo systemctl enable vncserver-vncuser@\:display.service

If you make any changes to a service unit configuration file, you must reload the configuration file and restart the service.

sudo firewall-cmd --zone=zone --add-service=vnc-server sudo firewall-cmd --zone=zone --add-service=vnc-server --permanent
sudo firewall-cmd --zone=zone --add-port=5967/tcp sudo firewall-cmd --zone=zone --add-port=5967/tcp --permanent
sudo yum groupinstall "server with gui"

When the installation is complete, use the systemctl get-default command to check that the default system state is multi-user.target (multi-user command-line environment). Use the systemctl set-default command reset the default system state or to change it to the graphical.target (multi-user graphical environment) if you prefer. The $HOME/.vnc/xstartup file is a shell script that specifies the X applications to run when the VNC desktop is started. For example, to run a KDE Plasma Workspace, you could edit the file as follows:

#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS #exec /etc/X11/xinit/xinitrc startkde &

If you make any changes to a user’s $HOME/.vnc/xstartup file, you must restart the VNC desktop for the changes to take effect:

sudo systemctl restart vncserver-vncuser@\:display.service

See the vncserver(1) , Xvnc(1) , and vncpasswd(1) manual pages for more information.

Читайте также:  Восстановление системы линукс минт

Connecting to VNC Desktop

You can connect to a VNC desktop on an Oracle Linux 7 system using any VNC client. The following example instructions are for the TigerVNC client. Adapt the instructions for your client.

    Install the TigerVNC client ( vncviewer ).

sudo yum install tigervnc
vncviewer myhost.example.com:1

To connect to a VNC desktop through an SSH tunnel, use the -via option for the vncviewer command to specify the user name and host for the SSH connection, and use localhost: display to specify the VNC desktop. For example:

vncviewer -via vncuser@myhost.example.com localhost:67

Источник

Удаленный рабочий стол на Ubuntu

Обновлено

Обновлено: 28.07.2022 Опубликовано: 22.09.2018

В статье рассказано о настройке возможности подключения к Ubuntu по удаленному рабочему столу (аналогично RDP в Windows). Примеры команд проверены на Linux Ubuntu 16.04 и 18.04.

Мы рассмотрим реализацию с помощью сервера VNC (подключиться к нашему компьютеру можно будет как с помощью клиента VNC, который доступен как для Linux, так и Windows). Также мы рассмотрим возможность использования клиента RDP из Windows, настроив xRDP.

Подготовка системы

Все действия описанные ниже мы будем выполнять с правами суперпользователя. Для этого переходим в режим sudo:

* по умолчанию, в Ubuntu не задан пароль от root и данная команда не сработает. В этом случае сначала задаем пароль руту — passwd root.

Если используется брандмауэр, добавляем правило:

iptables -A INPUT -p tcp —dport 5901 -j ACCEPT

* в данном примере, мы разрешаем входящие соединения на порту 5901. Для работы с несколькими портами, добавляем их по аналогии.

Установка и настройка VNC сервера

Рассмотрим два варианта использования графической оболочки — xfce и gnome.

Читайте также:  Удалить windows через линукс

Если используем XFCE

Установка

Установку выполняем следующей командой:

apt install xfce4 xfce4-goodies tightvncserver

Задаем пароль для доступа по удаленному рабочему столу. Для этого вводим команду:

. на запрос пароля вводим его дважды.

* Если система не затребует второй раз пароль, проверьте внимательно сообщение. Сервер может выдать ошибку, если пароль будет короткий.

После будет предложено ввод пароля для гостевого доступа — можно согласиться (y) и ввести пароль или отказаться (n).

Настройка

Для начала, останавливаем экземпляр VNC сервера:

* экземпляр :1, по умолчанию, слушает на порту 5900+1 (5901).

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4

Снова запускаем vncserver:

Если используем Gnome

Установка

Установку выполняем следующей командой:

apt install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal vnc4server

Задаем пароль для доступа по удаленному рабочему столу. Для этого вводим команду:

. на запрос пароля вводим его дважды.

* Если система не затребует второй раз пароль, проверьте внимательно сообщение. Сервер может выдать ошибку, если пароль будет короткий.

После будет предложено ввод пароля для гостевого доступа — можно согласиться (y) и ввести пароль или отказаться (n).

Настройка

Для начала, останавливаем экземпляр VNC сервера:

* экземпляр :1, по умолчанию, слушает на порту 5900+1 (5901).

Настраиваем VNC сервер для текущего пользователя:

#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80×24+10+10 -ls -title «$VNCDESKTOP Desktop» &
x-window-manager &

gnome-panel &
gnome-settings-daemon &
metacity &

Снова запускаем vncserver:

Подключаемся к удаленному рабочему столу

Запускаем клиент VNC. Например, в Linux — Remmina, в Windows — TightVNC Viewer или RealVNC. Вводим IP-адрес компьютера с VNC и номер порта:

Подключение к серверу VNC с помощью TightVNC

Будет запрошен пароль — вводим тот, что устанавливали при настройке.

Автозапуск сервиса

Чтобы VNC сервер запускался после перезагрузки, создаем новый юнит в systemd:

Читайте также:  Linux for satellite receiver

[Unit]
Description=VNC server
After=syslog.target network.target

[Service]
Type=forking
User=root
PAMName=login
PIDFile=/root/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver
ExecStop=/usr/bin/vncserver -kill :1

Разрешаем автозапуск сервиса:

systemctl enable vncserver

Смена пароля

Для смены пароля на подключения к VNC, вводим команду:

Система напишет, в каком файле на данный момент хранится пароль и запросит ввод нового:

Using password file /root/.vnc/passwd
Password:
Warning: password truncated to the length of 8.
Verify:
Would you like to enter a view-only password (y/n)? n

* как видим, файл для хранения пароля в данном примере — /root/.vnc/passwd; требование по минимальной длине пароля — 8 символов; также после ввода нового пароля система предложит ввод пароля на режим «только для чтения».

Если необходимо указать конкретный файл, в котором должен хранится пароль, вводим, например, такую команду:

xRDP для подключения из Windows

Если мы не хотим устанавливать на Windows никакого дополнительного программного обеспечения, а хотим использовать стандартное подключение к удаленному рабочему столу (mstsc), можно установить на Linux xRDP. Для этого вводим:

Создаем пользователя xrdp и добавляем его в группу ssl-cert:

* по умолчанию, сервис xrdp будет запускаться от пользователя xrdp и для доступа к системным сертификатам нужно, чтобы он был в группе ssl-cert. Сами же сертификаты используются для шифрования RDP-соединения.

Открываем файл и приводим его к виду:

Мы открываем конфигурационный файл для текущего пользователя. Но если нам нужно ввести настройку для другого пользователя, под которым будем подключаться по RDP, путь должен вести на его домашнюю директорию.

Например для пользователя dima:

* как правило, домашние директории находятся в каталоге /home, но не всегда. Проверить можно командой getent passwd dima | awk -F ‘:’ », где dima — имя учетной записи.

Разрешаем автозагрузку сервиса и перезапускаем его:

Если в нашей системе используется брандмауэр, не забываем добавить порт 3389:

iptables -I INPUT -p tcp —dport 3389 -j ACCEPT

iptables -I INPUT -p udp —dport 3389 -j ACCEPT

Для сохранения правил исполььзуем iptables-persistent:

apt install iptables-persistent

Запускаем «Подключение к удаленному рабочему столу» — вводим IP-адрес нашего сервера:

Подключение к удаленному рабочему столу

В открывшемся окне вводим логин и пароль от нашего пользователя, например:

Вводим логин и пароль для подключения к xRDP

Сменить порт xRDP

Если нам нужно, чтобы сервис работал на другом порту, открываем конфигурационный файл xRDP:

Находим и редактируем опцию:

* в данном примере мы задали порт 3390.

Источник

Оцените статью
Adblock
detector