Xrdp — это реализация протокола удаленного рабочего стола Microsoft (RDP) с открытым исходным кодом, которая позволяет графически управлять удаленной системой. С помощью RDP вы можете войти на удаленный компьютер и создать настоящий сеанс рабочего стола так же, как если бы вы вошли на локальный компьютер.
В этой статье описывается, как установить и настроить сервер Xrdp в Debian 10 Linux.
Обычно на серверах Linux по умолчанию не установлена среда рабочего стола. Первым шагом является установка X11 и среды рабочего стола, которая будет действовать как бэкэнд для Xrdp.
В репозиториях Debian доступно несколько сред рабочего стола (DE). Мы будем устанавливать Xfce. Это быстрая, стабильная и легкая настольная среда, которая делает его идеальным для использования на удаленном сервере. Если вы предпочитаете другую среду рабочего стола, такую как Gnome, вы можете установить ее вместо Xfce.
Введите следующие команды как root или пользователь с привилегиями sudo для установки Xfce на ваш сервер:
sudo apt update sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
В зависимости от вашей системы и подключения, загрузка и установка пакетов Xfce может занять некоторое время.
Пакет Xrdp доступен в стандартных репозиториях Debian. Чтобы установить его, запустите:
sudo apt install xrdp
Служба автоматически запустится после завершения процесса установки. Чтобы убедиться, что служба Xrdp запущена, введите:
sudo systemctl status xrdp
Вывод будет выглядеть примерно так:
● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-04-01 21:19:11 UTC; 4s ago ...
По умолчанию Xrdp использует файл /etc/ssl/private/ssl-cert-snakeoil.key, который доступен для чтения только пользователям, которые являются членами группы «ssl-cert». Выполните следующую команду, чтобы добавить пользователя xrdp в группу:
sudo adduser xrdp ssl-cert
Вот и все. Xrdp был установлен в вашей системе Debian.
Файлы конфигурации Xrdp хранятся в каталоге /etc/xrdp. Для базовых Xrdp-соединений вам не нужно вносить какие-либо изменения в файлы конфигурации. Xrdp будет использовать рабочий стол X Window по умолчанию, в данном случае это XFCE.
Основной файл конфигурации называется xrdp.ini. Этот файл разделен на разделы и позволяет вам устанавливать глобальные параметры конфигурации, такие как адреса безопасности и прослушивания, а также создавать различные сеансы входа в систему xrdp.
Всякий раз, когда вы вносите какие-либо изменения в файл конфигурации, вам необходимо перезапустить службу Xrdp:
sudo systemctl restart xrdp
Xrdp использует файл startwm.sh для запуска сеанса X. Чтобы использовать другой рабочий стол X Window, отредактируйте этот файл.
По умолчанию Xrdp прослушивает порт 3389 на всех интерфейсах. Если вы запускаете брандмауэр на своем сервере Debian, то вы всегда должны добавить правило, которое разрешит трафик через порт Xrdp.
Предполагая, что вы используете ufw для управления брандмауэром, выполните следующую команду, чтобы разрешить доступ к серверу Xrdp с определенного IP-адреса или диапазона IP-адресов, в этом примере 192.168.1.0/24:
sudo ufw allow from 192.168.1.0/24 to any port 3389
Если вы хотите разрешить доступ откуда угодно (что крайне нежелательно из соображений безопасности), выполните:
sudo ufw allow 3389
Если вы используете nftables для фильтрации подключений к вашей системе, откройте необходимый порт, введя следующую команду:
sudo nft add rule inet filter input tcp dport 3389 ct state new,established counter accept
Для повышения безопасности вы можете рассмотреть возможность настройки Xrdp для прослушивания только на локальном хосте и создания туннеля SSH, который безопасно перенаправляет трафик с вашего локального компьютера через порт 3389 на сервер на том же порту. Другой безопасный вариант — установить OpenVPN и подключиться к серверу Xrdp через частную сеть.
Теперь, когда вы настроили сервер Xrdp, пришло время открыть клиент Xrdp и подключиться к серверу.
Если у вас есть ПК с Windows, вы можете использовать RDP-клиент по умолчанию. Введите «remote» в строке поиска Windows и нажмите “Remote Desktop Connection”. Это откроет клиент RDP. В поле «Computer» введите IP-адрес удаленного сервера и нажмите «Connect».
На экране входа в систему введите свое имя пользователя и пароль и нажмите «ОК».
После входа в систему вы должны увидеть рабочий стол Xfce по умолчанию. Это должно выглядеть примерно так:
Теперь вы можете начать взаимодействие с удаленным рабочим столом XFCE с локального компьютера с помощью клавиатуры и мыши.
Если вы используете macOS, вы можете установить приложение Microsoft Remote Desktop из Mac App Store. Пользователи Linux могут использовать RDP-клиенты, такие как Remmina или Vinagre.
Установка сервера Xrdp позволяет вам управлять сервером Debian 10 с локального настольного компьютера через простой в использовании графический интерфейс.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.
А если просто черный экрна и мышка после подключения?
Ощутил все прелести xrdp. proxmox + контейнер Debian 10. Локальные ресурсы не пробрасываются, возможно это можно пофиксить, но как не нашел. Принтер локальный не пробрасывается впринципе, не предусмотрено технологией. Если создаешь ярлыки приложений на рабочем столе они не работают. На лоре пишут забить, потом заработают.
Xrdp 0.9.9 и 0.9.13 пробовал.
Для работы в продакшене не годится. Зря убил 4 суток.
Винде виндовое.
Какие мы нежные, бесплатно так еще принтеры пробрось и еще ресурсы подавай. Есть 1001 способ обойти эти ограничения!
Это всё прекрасно конечно, но у меня не работает переключение раскладки, из-за чего я даже ввести логин не могу