- Xrdp – подключиться к удаленному рабочему столу Ubuntu Linux через RDP из Windows
- Требования Xrdp
- 1) Установка на Linux
- на Ubuntu 18.04
- На Centos / Redhat 7
- 2) Подключение из Windows
- Доступ к удаленному рабочему столу Ubuntu / CentOS
- Удалённый доступ к Linux-десктопу. Лучшие RDP-серверы и клиенты 2022 года
- Сервер RDP под Linux
- ▍ xRDP
- ▍ Установка на Ubuntu / Debian
- ▍ Установка на RedHat / CentOS / Fedora
- ogon
- xpra
- Клиенты RDP и FTP под Linux
- Remmina
- Apache Guacamole
Xrdp – подключиться к удаленному рабочему столу Ubuntu Linux через RDP из Windows
Xrdp – это инструмент с открытым исходным кодом, который позволяет пользователям получать доступ к удаленному рабочему столу Linux через Windows RDP.
Помимо Windows RDP, инструмент xrdp также принимает соединения от других клиентов RDP, таких как FreeRDP, rdesktop и NeutrinoRDP
Требования Xrdp
- пакеты xrdp и xorgxrdp
- Слушает 3389 / tcp. Убедитесь, что ваш брандмауэр принимает соединения
В этой статье я покажу, как вы можете удаленно подключиться к Ubuntu Desktop с компьютера Windows с помощью инструмента Xrdp.
1) Установка на Linux
на Ubuntu 18.04
Во-первых, вам нужно установить Xrdp на Ubuntu
# apt install xrdp Reading package lists. Done Building dependency tree Reading state information. Done The following additional packages will be installed: xorgxrdp Suggested packages: guacamole xrdp-pulseaudio-installer The following NEW packages will be installed: xorgxrdp xrdp 0 upgraded, 2 newly installed, 0 to remove and 256 not upgraded. Need to get 498 kB of archives. After this operation, 3,303 kB of additional disk space will be used. Do you want to continue? [Y/n] y
Вы должны настроить правило polkit, чтобы избежать всплывающего окна аутентификации после ввода имени пользователя и пароля на экране входа xrdp в windows
# vim /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf polkit.addRule(function(action, subject) < if ((action.id == “org.freedesktop.color-manager.create-device” || action.id == “org.freedesktop.color-manager.create-profile” || action.id == “org.freedesktop.color-manager.delete-device” || action.id == “org.freedesktop.color-manager.delete-profile” || action.id == “org.freedesktop.color-manager.modify-device” || action.id == “org.freedesktop.color-manager.modify-profile”) && subject.isInGroup(“”)) < return polkit.Result.YES; >>);
перезапустите службу xrdp
Затем убедитесь, что служба запущена
# systemctl status xrdp ● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: en Active: active (running) since Tue 2018-10-16 02:05:21 WAT; 11min ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 2654 (xrdp) Tasks: 1 (limit: 2290) CGroup: /system.slice/xrdp.service └─2654 /usr/sbin/xrdp
Теперь убедитесь, что вы автоматически запускаете службу при запуске системы.
# systemctl enable xrdp Synchronizing state of xrdp.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable xrdp
Теперь вам нужно будет проверить свой IP-адрес, потому что вам понадобится его для подключения
# ip add 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:ef:f6:9b brd ff:ff:ff:ff:ff:ff inet 172.16.8.177/24 brd 172.16.8.255 scope global dynamic noprefixroute ens33
Мой IP-адрес – 172.16.8.177. Так что держите это в своем уме.
Xrdp работает с портом 3389, поэтому обязательно откройте его.
UFW по умолчанию отключен, поэтому вам нужно включить брандмауэр и создать правило для xrdp
# ufw enable # ufw allow 3389/tcp
Теперь вы можете продолжить настройку со стороны windows.
На Centos / Redhat 7
Обязательно установите репозитории Epel прежде всего
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Теперь установите пакеты xrdp
# yum update && yum -y install xrdp tigervnc-server
Добавьте правило в брандмауэр. На Centos / RedHat ufw не работает, а работает firewalld
# firewall-cmd --permanent --zone=public --add-port=3389/tcp
Затем перезагрузите брандмауэр
Теперь включите и перезапустите службу xrdp
# systemctl enable xrdp && systemctl restart xrdp
Проверьте свой IP-адрес для удаленного подключения в Windows
2) Подключение из Windows
На вашем компьютере windows, таком как windows 10 в нашем случае, запустите средство подключения к удаленному рабочему столу по умолчанию.
Вам нужно будет ввести IP-адрес вашего устройства, и вам будет предложено ввести имя пользователя
Доступ к удаленному рабочему столу Ubuntu / CentOS
Введите IP-адрес и имя пользователя
Теперь подтвердите информацию и запустите соединение.
Если вы не вышли из системы локально, удаленный вход в систему завершится с ошибкой.
Теперь вас попросят ввести пароль
Теперь подтвердите свои учетные данные. Вы можете увидеть IP-адрес моего Ubuntu в верхней части и страницу входа. Введите свой пароль и наслаждайтесь
Удалённый доступ к Linux-десктопу. Лучшие RDP-серверы и клиенты 2022 года
Что делать, если нужно получить удалённый доступ к серверу или десктопу Linux? Или подключиться к Windows-машине с Linux-десктопа? Какие клиенты RDP и FTP подходят лучше всего под Debian и Red Hat / CentOS? Интересно посмотреть, что нового появилось в последнее время.
Как известно, Remote Desktop Protocol (RDP) — проприетарный протокол Microsoft для удалённого управления десктопом. Ориентирован на передачу по сети графического интерфейса и всех функций управления.
Хотя протокол выпустила Microsoft, к настоящему моменту создано множество свободных серверов и клиентов RDP с открытым исходным кодом, под свободной лицензией и для всех операционных систем. В последние годы появились достойные серверы RDP под Linux , хотя раньше хосты всегда работали под Windows, а под Linux выпускались только клиенты. Однако к 2022 году ситуация сильно изменилась, так что стали возможно и противоположные сценарии.
Выбор сервера и клиента зависит от операционной системы хоста. RDP-сессия устанавливается между клиентом и сервером. Соответственно, для серверной и клиентской части RDP и FTP существуют разные инструменты, в том числе доступные в репозиториях Debian, Red Hat, CentOS и др.
Сервер RDP под Linux
В современных системах GNOME — сервер RDP уже интегрирован, но там много чего не хватает, так что приходится пока использовать сторонние решения. Судя по всему, сервер RDP в GNOME пока не доработан до окончательного вида. По крайней мере, там отсутствуют некоторые важные функции. Руководство по использованию и планы на доработку программы см. здесь.
▍ xRDP
Неплохой вариант для Linux-сервера — xRDP. Последняя версия 0.9.20 вышла 15 сентября 2022 года.
Эта программа специализируется на управлении Linux-десктопом по RDP, при этом xRDP как бы мимикрирует под Windows-систему, нативную для данного протокола.
Предполагается, что клиенты — это обычно системы под Windows, мобильные устройства или дешёвые RDP-терминалы типа Wyse Winterm (на Windows CE), которые можно дёшево купить б/у на «Авито» или найти списанные вообще бесплатно.
Старый терминал WYSE-530 Winterm S30 на процессоре AMD Geode 366 МГц (ноябрь 2008)
Поднимаете RDP-сервер под Linux с десятком X-сессий — и практически без усилий получаете сеть из десятка компьютеров, которые могут вводить информацию на сервер. Это просто пример, как использовать RDP-клиенты под Windows для доступа к Linux-серверу.
xRDP обеспечивает удалённый доступ по Microsoft Remote Desktop Protocol (RDP) и принимает соединения по порту 3389/tcp от следующих RDP-клиентов:
- FreeRDP.
- rdesktop.
- KRDC.
- NeutrinoRDP.
- Windows MSTSC (Microsoft Terminal Services Client, она же mstsc.exe ).
- Microsoft Remote Desktop (есть Microsoft Store, отличается от MSTSC).
xRDP поддерживает повторные подключения к прерванной сессии, изменение размера дисплея, функцию RDP/VNC-прокси (подключение к другому серверу RDP/VNC через xrdp), двусторонний буфер обмена между хостом и клиентом, в том числе передачу через него туда и обратно текста, изображений и файлов, перенаправление аудиопотока и микрофона (требует сборки дополнительных модулей), перенаправление дисков (монтирование локальных клиентских дисков на удалённой машине).
В большинство популярных дистрибутивов включены последние версии пакетов xrdp и xorgxrdp , они есть также в Debian и CentOS.
▍ Установка на Ubuntu / Debian
▍ Установка на RedHat / CentOS / Fedora
На RedHat / CentOS сначала нужно активировать пакеты EPEL:
Потом можно установить xrdp
ogon
Один из многочисленных альтернативных вариантов сервера RDP под Linux — проект ogon. Это набор инструментов на C/C++, которые предоставляют удобный GUI для удалённого десктопа по RDP. Проект поддерживает большинство современных расширений протокола RDP, кодеки сжатия растровых изображений, отключение и повторное подключение к сессиям, перенаправление устройств.
Сервер совместим практически со всеми существующими клиентами RDP, сессии можно устанавливать через приложение X11, Weston или QT. Благодаря модульной конструкции, сервер легко расширяется, в него можно добавить новые функции или новые бэкенды. Ставится на Debian, CentOS и т. д.
xpra
Известный сервер под Linux с терминальными GUI-сессиями (экран для X11) — xpra. Во многом работает как xRDP, хотя и не поддерживает RDP. Но мы решили помянуть его здесь для сравнения с решениями на RDP и VNC.
Тут встроенный HTML5-клиент, аппаратное ускорение графики, поддержка множества пользователей, GUI для настройки, синхронизация клавиатуры и буфера обмена, перенаправление принтера, курсора, звука, системных уведомлений, поддержка IPv6, SSL, десктопный режим и проч.
Официальные стабильные сборки:
Клиенты RDP и FTP под Linux
Пожалуй, лучшие клиенты RDP под Debian — это Remmina и Apache Guacamole, хотя есть и другие варианты.
Remmina
Remmina — клиент RDP по умолчанию в некоторых дистрибутивах, в том числе в Ubuntu. Это одна из самых удобных и функциональных программ для удалённой работы, поддерживает RDP, SSH, SPICE, VNC, X2Go, HTTP/HTTPS.
В июне 2022 вышла последняя версия 1.4.27 с исправлением ошибок и рядом не самых существенных изменений вроде новых цветовых схем для SSH.
Некоторые из основных функций Remmina, которые можно настраивать на стороне клиента RDP:
- Запоминание последнего режима просмотра для каждого соединения.
- Конфигурация двойным щелчком.
- Качество масштабирования.
- Размер шага автоматической прокрутки.
- Максимальное количество последних элементов.
- Нажатия клавиш.
- Папка для скриншотов.
- Предотвращение попадания скриншотов в буфер обмена.
- Настройка разрешения экрана.
- Конфигурация вкладок.
- Видимость панели инструментов.
- Режим просмотра по умолчанию.
- Настройка поведения в полноэкранном режиме.
- Строка поиска в главном окне.
- Установка горячих клавиш для хоста: включение полноэкранного режима, автоподгонка окна, переключение страниц вкладок, переключение режима масштабирования, захват клавиатуры, минимизировать окно, показать/скрыть панель инструментов, сделать скриншот, режим просмотра.
- Локальный порт SSH-туннеля.
- Парсинг ~/.ssh/config .
- Логи SSH.
- Выбор шрифта терминала.
- И др.
Из специфических настроек RDP — установка глубины цвета, качества передачи видео и звука, редирект локального микрофона, подключение консоли, распознавание сервера через Remote Desktop Gateway, возможность отключить автоматические реконнекты, синхронизацию буфера обмена и некоторых других функций.
Remmina входит в состав большинства популярных дистрибутивов, включая Debian 11:
В старых версиях Debian для установки Remmina можно скопировать строки в консоль:
echo 'deb http://ftp.debian.org/debian stretch-backports main' | sudo tee --append /etc/apt/sources.list.d/stretch-backports.list >> /dev/null sudo apt update sudo apt install -t stretch-backports remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice
Сразу после установки предлагается сделать Remmina клиентом RDP по умолчанию:
Инструкции по установке для всех систем см. на этой странице, а руководство по сборке из исходников — в справочном вики.
На CentOS есть вариант установки из репозитория EPEL, вставив в консоль следующие строчки:
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm
В качестве альтернативы — Remmina устанавливается через универсальный пакет Flatpak, который работает буквально на всех дистрибутивах:
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo # In order to have H.264 codecs flatpak install org.freedesktop.Platform flatpak install org.freedesktop.Platform.openh264 flatpak install --user flathub org.remmina.Remmina flatpak run --user org.remmina.Remmina
Apache Guacamole
Apache Guacamole (HTML5, в браузере) предоставляет доступ к хосту без клиента, то есть без инсталляции на компьютер клиентской части. Работает просто через браузер. Последняя версия 1.4.0 вышла 1 января 2022 года.
Понятно, что браузерный клиент имеет определённые преимущества, поскольку запускается абсолютно на любом устройстве, где есть браузер, независимо от операционной системы.
Более того, сам десктоп необязательно должен существовать физически, это может быть просто виртуальная машина на сервере.
Из других RDP и VNC-клиентов под Linux можно упомянуть Vinagre, Boxes, TightVNC (для доступа к Windows-хостам), FreeRDP (xfreerdp/wlfreerdp, пакет для Debian) и rdesktop.