Xrdp centos 7 настройка
xrdp-это бесплатная и открытая реализация сервера Microsoft RDP (Remote Desktop Protocol), которая позволяет операционным системам, отличным от Microsoft Windows (таким как Linux и операционные системы в стиле BSD ), обеспечить полностью функциональный RDP-совместимый удаленный рабочий стол.
Он работает путем соединения графики из системы X Window с клиентом и ретрансляции элементов управления из клиента обратно в X .
По словам разработчиков, протокол работает с rdesktop, FreeRDP и собственным клиентом удаленного рабочего стола Microsoft
Подготовка к установке
Перед установкой xrdp убедитесь, что у вас установлен epel-release
yum list epel-release
Installed означает, что у меня epel-release установлен
Если вместо Installed вы видите Available - тогда установите командой
sudo yum install epel-release
Чтобы пользоваться xrdp нужно сперва установить X-сервер . Например, Gnome или Xfce.
sudo yum update
sudo yum install centos-desktop
sudo yum update
sudo yum install xcentos-desktop
После установки X сервера и epel-release можно перейти непосредственно к установке xrdp
Установка
Проверить наличие xrdp можно выполнив
Available означает, что пакет не установлен но доступен для установки.
В последней строке можно увидеть, что xrdp.x86_64 доступен из epel репозитория. Поэтому и нужно было сперва установить epel-release
Установить xrdp можно командой
sudo yum install xrdp
Обратите внимание на Dependencies Resolved, если там не упоминается tigervnc, то рекомендую установить tigervnc-server самостоятельно.
sudo yum install tigervnc-server
Как вариант - при установке xrdp в Dependencies Resolved может присутствовать tigervnc-license и tigervnc-server-minimal. Это означает что про tigervnc не забыли.
Если вы не обратили внимание на логи установки - можно проверить что же всё-таки было установлено при посленем использовании yum install - достаточно выполнить
yum history info
Если нужно удалить всё что было только что установлено - выполните
yum history undo 7
Настройка после установки
После установки содержимое директории с xrdp выглядит примерно так
cert.pem km-00000407.ini km-0000040b.ini km-00000411.ini km-00000415.ini km-0000041d.ini km-0000080a.ini km-00000816.ini km-19360409.ini rsakeys.ini xrdp_keyboard.ini key.pem km-00000409.ini km-0000040c.ini km-00000412.ini km-00000416.ini km-00000807.ini km-0000080c.ini km-0000100c.ini openssl.conf sesman.ini km-00000406.ini km-0000040a.ini km-00000410.ini km-00000414.ini km-00000419.ini km-00000809.ini km-00000813.ini km-00010409.ini pulse xrdp.ini
Проверить режим работы SELinux можно командой
Не будем менять Enforcing на Permissive и тем более Disabled а постараемся настроить всё в этом режиме.
-rwxr-xr-x. root root system_u:object_r:bin_t:s0 xrdp -rwxr-xr-x. root root system_u:object_r:bin_t:s0 xrdp-chansrv -rwxr-xr-x. root root system_u:object_r:bin_t:s0 xrdp-sesman
У вас также может присутствовать xrdp-sessvc
Если xrdp и xrdp-sesman (Session Manager) имеют тип unconfined_exec_t возможно вам придётся вручную изменить его на bin_t это можно сделать командой
chcon -t bin_t xrdp xrdp-sesman
reconnectwm.sh startwm-bash.sh startwm.sh
Пример файла startwm.sh и варианты модификаций вы можете найти в статье startwm
Запуск xrdp
systemctl start xrdp
systemctl enable xrdp
Проверить статус
Проверить слушается ли порт 3389
netstat -ltn | grep 3389
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
Проверить статус xrdp
sudo systemctl status -l xrdp
-l выводит предложения до конца
Если всё работает, то вы увидите что-то похожее:
Перезапуск xrdp
sudo systemctl restart xrdp
Клиенты
Remmina
sudo yum install remmina
Решение проблем
Если вы сделали всё по инструкции, но подключение не работает, а когда проверяете статус получаете что-то похожее
● xrdp.service - xrdp daemon Loaded: loaded (/usr/lib/systemd/system/xrdp.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Sun 2021-04-18 22:39:44 EEST; 12h ago Docs: man:xrdp(8) man:xrdp.ini(5) Process: 11923 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS --nodaemon (code=exited, status=1/FAILURE) Main PID: 11923 (code=exited, status=1/FAILURE) Apr 18 22:39:44 localhost.localdomain xrdp[11923]: [ERROR] trans_listen_addre. Apr 18 22:39:44 localhost.localdomain xrdp[11923]: [ERROR] xrdp_listen_main_l. Apr 18 22:39:44 localhost.localdomain xrdp[11923]: logging configuration: Apr 18 22:39:44 localhost.localdomain xrdp[11923]: LogFile: /var/log/xr. Apr 18 22:39:44 localhost.localdomain xrdp[11923]: LogLevel: [INFO ] Apr 18 22:39:44 localhost.localdomain xrdp[11923]: ConsoleLevel: <disabled> Apr 18 22:39:44 localhost.localdomain xrdp[11923]: SyslogLevel: [INFO ] Apr 18 22:39:44 localhost.localdomain systemd[1]: xrdp.service: main process . Apr 18 22:39:44 localhost.localdomain systemd[1]: Unit xrdp.service entered f. Apr 18 22:39:44 localhost.localdomain systemd[1]: xrdp.service failed. Hint: Some lines were ellipsized, use -l to show in full.
● xrdp.service - xrdp daemon Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2021-04-15 12:06:37 EEST; 2min 57s ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 5017 (code=exited, status=1/FAILURE) Apr 15 12:06:37 localhost.localdomain xrdp[5017]: [ERROR] trans_listen_address failed Apr 15 12:06:37 localhost.localdomain xrdp[5017]: [ERROR] xrdp_listen_main_loop: xrdp_listen_get_port failed Apr 15 12:06:37 localhost.localdomain xrdp[5017]: logging configuration: Apr 15 12:06:37 localhost.localdomain xrdp[5017]: LogFile: /var/log/xrdp.log Apr 15 12:06:37 localhost.localdomain xrdp[5017]: LogLevel: [INFO ] Apr 15 12:06:37 localhost.localdomain xrdp[5017]: ConsoleLevel: <disabled> Apr 15 12:06:37 localhost.localdomain xrdp[5017]: SyslogLevel: [INFO ] Apr 15 12:06:37 localhost.localdomain systemd[1]: xrdp.service: main process exited, code=exited, status=1/FAILURE Apr 15 12:06:37 localhost.localdomain systemd[1]: Unit xrdp.service entered failed state. Apr 15 12:06:37 localhost.localdomain systemd[1]: xrdp.service failed.
Если вы этого ещё не сделали - попробуйте установить tigervnc-server (В соединении скорее всего участвует VNC порт).
sudo yum install tigervnc-server
Если сразу не помогло - перезагрузите всё что сможете. Возможно, стоить проверить обновление xrdp
Читайте также: