ЗАДАЧА: соединить два ноутбука по протоколу RDP.
В роли удалённой машины (сервера) выступает ноутбук под управлением KaliLinux.
В роли машины - клиента выступает ноутбук под управлением Debian 10.
На удалённый ноутбук KaliLinux (сервер) установим RDP client xRDP
На ноутбук Debian 10 (клиент) установим freerdp2-x11
######################################################################
Для включения RDP в Kali Linux нужно установить xrdp и включить автоматический запуск.
Более дополнительных настроек не требуется.
Обновляем до последней стабильной версии.
$ sudo apt update && sudo apt -y dist-upgrade
Установите утилиту xRDP:
$ sudo apt install xrdp
Автоматически установится xorgxrdp
Проверяем установку xrdp:
$ sudo netstat -lntp |grep 3389
Запускаем и добавляем в атозапуск xrdp:
$ sudo service xrdp start
$ sudo service xrdp-sesman start
$ sudo update-rc.d xrdp enable
Теперь создадим пользователя под управление нашего соединения, у меня это будет пользователь xrdp:
$ sudo adduser xrdp
Может такая команды и не выполниться, то нужно запустить с параметром:
$ sudo adduser xrdp --force-badname
Даем нашему пользователю ( у меня — XRDP) права полного доступа ( рута):
$ sudo adduser xrdp sudo
Так же, зададим пароль для пользователя:
$ sudo passwd xrdp
.......................................................................
Возможные (необязательные ) настройки
Вы должны настроить правило polkit, чтобы избежать всплывающего окна аутентификации после ввода имени пользователя и пароля на экране входа xrdp в windows
$ sudo nano /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(“{group}”))
{
return polkit.Result.YES;
}
});
Для изменения прав доступа к запуску X сервера необходимо выполнить следующую команду:
$ sudo dpkg-reconfigure xserver-xorg-legacy
# Перезагружаем XRDP
$ sudo systemctl restart xrdp
Добавляем пользователя в группу SSL-CERT
По умолчанию Xrdp использует /etc/ssl/private/ssl-cert-snakeoil.key файл, который доступен только чтения для тех пользователей которые являются членами группы SSL-CERT
$ sudo adduser xrdp ssl-cert
Настройка XRDP
# Открываем файл
[/CODE]$ sudo nano /etc/xrdp/xrdp.ini[/ICODE]
# Добавляем в конец файла строку
$ exec startxfce4
# Перезагружаем XRDP
$ sudo systemctl restart xrdp
Добавление в автозагрузку:
$ sudo systemctl enable xrdp
Запуск:
$ sudo systemctl start xrdp
Проверка состояния:
$ sudo systemctl status xrdp
Настройка Firewoll
........................................................................
Перезагрузка системы пользователем XRDP
$ sudo nano /usr/share/polkit-1/actions/org.freedesktop.login1.policy
Код:
= часть вывода команды и необходимые изменения =
= вместо auth_admin_keep указываем yes =
<action id="org.freedesktop.login1.reboot">
<description gettext-domain="systemd">Reboot the system</description>
<message gettext-domain="systemd">Authentication is required for rebooting the system.</message>
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.set-wall-message</annotate>
</action>
........................................................................
Одна сессия для пользователя xrdp
$ sudo nano /etc/xrdp/sesman.ini
Код:
= вывод части команды с необходимыми настройками =
[Sessions]
;; X11DisplayOffset - x11 display number offset
; Type: integer
; Default: 10
X11DisplayOffset=10
;; MaxSessions - maximum number of connections to an xrdp server
; Type: integer
; Default: 0
# Выставляем количество пользователей для одновременной работе на сервере
MaxSessions=3
;; KillDisconnected - kill disconnected sessions
; Type: boolean
; Default: false
; if 1, true, or yes, kill session after 60 seconds
# Не разрываем сеанс при отключении пользователя чтобы потом попасть в туже сессию
KillDisconnected=false
........................................................................
Запрет авторизации ROOT
По умолчанию разрешен вход под пользователем root.
В целях безопасности отключим такую возможность:
$ sudo nano /etc/xrdp/sesman.ini
= необходимое изменение =
Код:
[Security]
# Авторизация root. true - разрешено false - запрещено
AllowRootLogin=false
########################################################
RDP-client freerdp2 в Debian
1. Как установить RDP-client freerdp2 в Debian ?
Обновляем до последней стабильной версии.
$ sudo apt update && sudo apt -y dist-upgrade
$ sudo apt install freerdp2-x11 freerdp2-shadow-x11
2. FreeRDP примеры подключения
$ xfreerdp /cert-ignore /u:Administrator /v:192.168.0.7
$ xfreerdp /cert-ignore /h:500 /w:500 /u:user_name /p:you_passwd /v:192.168..xx.xx
$ xfreerdp /cert-ignore /size:50%h,50%w /u:user /p:you_passwd /v:192.168..xx.xx
$ xfreerdp /sec:tls /v:192.168..xx.xx:3389 /f /u:user /p:you_passwd +clipboard
$ xfreerdp /kbd:en-us /bpp:16 /compression /u:xrdp /p:you_passwd /w:800 /h:600 /sec:rdp +clipboard /v:192.168..xx.xx:3389
В следующем примере выполняется подключение к хосту rdp.contoso.com с именем USER и размером 50 процентов от высоты.
$ xfreerdp /u:USER /size:50%h /v:rdp.contoso.com
Если вместо высоты (h) установлена ширина (w), примерно как /size:50%w, то будет использоваться 50 процентов ширины.
$ xfreerdp /f /u:ИМЯ-ПОЛЬЗОВАТЕЛЯ /p:ПАРОЛЬ /v:ХОСТ[:ПОРТ]
В этой команде:
/f — опция означает открыть удалённый стол в полноэкранном режиме
Для переключения между полноэкранным режимом и оконным, используется сочетание клавиш Ctrl+Alt+Enter
Устаревшие команды:
$ xfreerdp -a 16 -u user -p ******** -g 1024x768 --plugin cliprdr 192.168..xx.xx
$ xfreerdp -a 16 -u user -g 1024x768 -z --ignore-certificate -k 0x00000409 --plugin rdpdr --plugin cliprdr --no-tls 192.168.1.198
$ xfreerdp --ignore-certificate +clipboard --u user -f 192.168..xx.xx -p
$ xfreerdp -k en-us -a 32 -x l -z -u Administrator -g 800x600 --sec rdp --plugin cliprdr 185.154.xx.xx
3. Как удалить или переустановить freerdp2-x11 ?
$ sudo apt-get remove freerdp2-x11
$ sudo apt-get remove --auto-remove freerdp2-x11
$ sudo apt-get purge freerdp2-x11
$ sudo apt-get purge --auto-remove freerdp2-x11
Возможная ошибка:
ERRINFO_LOGOFF_BY_USER (0x0000000C):The disconnection was initiated by the user logging off their session on the server.
Решение:
????????????????????????????????