Проброс локального диска и принтера при подключении из Windows Подключение на клиенте Устранение ошибки при настройке удаленного доступа с Windows 7/XP на РЕД ОС Аутентификация под доменным пользователем Дополнительная настройка SELinux Завершение всех процессов при выходе из сеанса Оптимизация производительности Автоматическое завершение сеанса пользователя, подключенного по xrdp Автоматическое завершение всех графических сеансов пользователя
Окружение
Вы можете подробнее ознакомиться с возможностью осуществления удаленного подключения на примере РЕД ОС 7.3, просмотрев наши обучающие видео:
на RuTube — Организация удаленного доступа с РЕД ОС на Windows;
в Яндекс.Дзен — Организация удаленного доступа с РЕД ОС на Windows;
в VK Видео — Организация удаленного доступа с РЕД ОС на Windows.
На наших каналах вы также сможете найти много другой полезной информации.
Для успешного подключения локального диска к удаленному рабочему столу необходимо убрать в настройках RDP-клиента галочку «Принтеры».
Проброс локального принтера текущей версией xrdp не поддерживается.
Для подключения из Windows используйте «Подключение к удаленному рабочему столу».
Для подключения из РЕД ОС используйте приложение «Remmina» («Главное меню» — «Интернет» — «Remmina»).
Выберите протокол RDP, впишите узел и нажмите клавишу Enter, чтобы подключиться.
Для подключения в открывшемся окне впишите имя пользователя и пароль.
Для применения настроек перезагрузите сервер xrdp:
systemctl restart xrdp
При возникновении ошибки такого вида:
Откройте файл:
nano /etc/xrdp/xrdp.ini
Измените значение параметра security_layer:
security_layer=rdp
Для разрешения аутентификации доменных пользователей требуется изменить файл:
nano /etc/xrdp/sesman.ini
Закомментировав следующие строки:
#TerminalServerUsers=tsusers #TerminalServerAdmins=tsadmins
Перезапустите сервер:
Чтобы разрешить определенным доменным пользователям доступ к RDP-серверу, необходимо создать локальную в группу tsusers и добавить в нее доменных пользователей.
groupadd tsusers
Добавление в группу tsusers пользователя <bob> производится командой:
usermod -aG tsusers bob
где <bob> - это доменный пользователь,
В файл /etc/xrdp/sesman.ini в секцию [Security] необходимо добавить строки:
[Security]
TerminalServerUsers=tsusers AlwaysGroupCheck=true
Еще один вариант - в качестве локальной группы указать доменную:
TerminalServerUsers=rdp
здесь rdp - группа безопасности на вашем контроллере домена, в которую могут входить необходимые вам пользователи xrdp-сервера.
После этого перезапустите сервер:
systemctl restart xrdp systemctl restart sssd
После тестового подключения к xrdp-серверу нужно выполнить настройку SELinux, выполните следующие команды на сервере:
ausearch -c 'krb5_child' --raw | audit2allow -M my-krb5child semodule -X 300 -i my-krb5child.pp
Для того чтобы при выходе из системы прекращались все процессы, явно или неявно запущенные от имени авторизованного пользователя, в файле /etc/systemd/logind.conf необходимо раскомментировать параметр KillUserProcesses и установить значение yes.
KillUserProcesses
yes
После изменения значения данного параметра необходимо либо перезагрузить компьютер, либо выполнить команду перезапуска сервиса logind для применения настроек:
systemctl restart systemd-logind
Оптимизацию использования ресурсов RDP-сервера (процессора, оперативной памяти, каналов связи) можно произвести представленными ниже изменениями конфигурации.
Для отключения композитного менеджера путем задания значения по умолчанию параметра dconf следует создать файл /etc/dconf/db/local.d/10_mate_nocomp со следующим содержимым (с правами пользователя root):
dconf
nano /etc/dconf/db/local.d/10_mate_nocomp
[org/mate/marco/general] compositing-manager=false
Для того чтобы ограничить возможность изменения данного параметра пользователем, то есть принудительно применить настройку, следует выполнить команду:
echo "/org/mate/marco/general/compositing-manager" > /etc/dconf/db/local.d/locks/10_mate_nocomp
Для включения композитного менеджера измените значение параметра compositing-manager с false на true.
compositing-manager
false
true
при использовании KDE:
Для отключения композитного менеджера выполните в терминале команду:
qdbus org.kde.KWin /Compositor suspend
Включить снова композитный менеджер можно с помощью команды:
qdbus org.kde.KWin /Compositor resume
при использовании GNOME:
Для оптимизации производительности отключение композитного менеджера не предусмотрено.
Данный вариант подойдет для решения ситуаций, когда после удаленного входа пользователь не может войти в сеанс на локальном компьютере.
Для автоматического завершения xrdp-подключения с завершением графического сеанса пользователя в файле /etc/xrdp/sesman.ini раскомментируйте и укажите параметры:
KillDisconnected=true DisconnectedTimeLimit=60 IdleTimeLimit=600
В этом примере конфигурационного файла RDP-соединение отключится через 10 минут (600 секунд) неактивности, с завершением сеанса пользователя через 60 секунд после отключения.
KillDisconnected - [true|false] Включение функции принудительного завершения сеанса пользователя, после отключения RDP. Данная настройка работает только для xorgxrdp-сессий.
DisconnectedTimeLimit - Время в секундах, через которое будет завершен сеанс пользователя, после отключения RDP-соединения. Минимальное значение 60. При указании меньшего, значение будет равно 60.
IdleTimeLimit - Время в секундах, через которое будет будет отключено неактивное RDP-соединение. Под неактивностью понимается отсутствие ввода с клавиатуры, отсутствие движения/нажатий мыши. Если указано 0 - неактивное соединение не отключается. Данная настройка работает только для xorgxrdp сессий.
Данный вариант завершает все графические сеансы пользователей, которые неактивны указанное время. Решает проблему, когда незавершенный сеанс на локальном компьютере не позволяет подключиться этому пользователю по xrdp удаленно.
Создайте скрипт:
nano /opt/logout.sh
Сделайте его исполняемым:
chmod +x /opt/logout.sh
Содержание скрипта:
#!/bin/bash idle_time=30 # Время в минутах бездействия в сессии пользователя, после которого сессия будет завершена (Указать необходимое) while true; do # Время бездействия пользователя в миллисекундах user_time=$(xprintidle) if [ $user_time -ge $((idle_time*60*1000)) ]; then # Завершаем сеанс пользователя loginctl kill-user "$USER" fi sleep 1 done
Создайте файл автозапуска скрипта /opt/logout.sh:
nano /etc/xdg/autostart/logout.desktop
Содержание файла /etc/xdg/autostart/logout.desktop:
[Desktop Entry] Type=Application Exec=/opt/logout.sh Hidden=false Name=MyLogout
Дата последнего изменения: 12.12.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.