AMP AMP

How to Install Xrdp Server On Debian 11.4

To Install Xrdp Server (Remote Desktop) On Debian 11.4

Introduction:

The Xrdp server is a free and open-source implementation of Microsoft's Remote Desktop Protocol (RDP) that allows other operating systems (such as Linux and BSD-data-style) to provide fully functional RDP-compatible remote desktops.

Installation Procedure:

Step 1: Check the installed version of OS by using the below command

root@debian:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye

Step 2: Next Update APT repository cache by using the below command

root@debian:~# apt-get update
Hit:1 http://security.debian.org/debian-security bullseye-security InRelease
Hit:2 http://deb.debian.org/debian bullseye-updates InRelease
Hit:3 http://deb.debian.org/debian bullseye InRelease
Reading package lists... Done

Step 3: Now Install the Xrdp package by using below command.

root@debian:~# apt install xrdp
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  dbconfig-common dbconfig-mysql default-mysql-client galera-4 icc-profiles-free libaio1 libcgi-fast-perl libcgi-pm-perl
  libconfig-inifiles-perl libdbd-mariadb-perl libdbi-perl libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-template-perl
  libjs-bootstrap4 libjs-codemirror libjs-jquery libjs-jquery-mousewheel libjs-jquery-timepicker libjs-jquery-ui
  libjs-openlayers libjs-popper.js libjs-sizzle libjs-sphinxdoc libjs-underscore libmariadb3 libonig5 libterm-readkey-perl
  libzip4 mariadb-client-10.5 mariadb-client-core-10.5 mariadb-common mariadb-server-10.5 mariadb-server-core-10.5 mysql-common
  node-jquery rsync socat
Use 'apt autoremove' to remove them.
Suggested packages:
  guacamole xrdp-pulseaudio-installer
The following NEW packages will be installed:
  xrdp
0 upgraded, 1 newly installed, 0 to remove and 214 not upgraded.


Need to get 446 kB of archives.
After this operation, 3,022 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main amd64 xrdp amd64 0.9.12-1.1 [446 kB]
Fetched 446 kB in 0s (1,613 kB/s)
Selecting previously unselected package xrdp.
(Reading database ... 143193 files and directories currently installed.)
Preparing to unpack .../xrdp_0.9.12-1.1_amd64.deb ...
Unpacking xrdp (0.9.12-1.1) ...
Setting up xrdp (0.9.12-1.1) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for libc-bin (2.31-13+deb11u3) ...

Step 4: Start the Xrdp service by using the below command.

root@debian:~# systemctl start xrdp

Step 5: Check the status of Xrdp by using the below command.

root@debian:~# systemctl status xrdp
● xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-07-04 20:45:02 CDT; 6min ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
    Process: 535 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS)
    Process: 546 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 555 (xrdp)
      Tasks: 1 (limit: 4623)
     Memory: 1.5M
        CPU: 60ms
     CGroup: /system.slice/xrdp.service
             └─555 /usr/sbin/xrdp

Jul 04 20:45:01 debian xrdp[546]: (546)(140658685122368)[INFO ] address [0.0.0.0] port [3389] mode 1


Jul 04 20:45:01 debian xrdp[546]: (546)(140658685122368)[INFO ] listening to port 3389 on 0.0.0.0
Jul 04 20:45:01 debian xrdp[546]: (546)(140658685122368)[INFO ] xrdp_listen_pp done
Jul 04 20:45:01 debian xrdp[546]: (546)(140658685122368)[DEBUG] Closed socket 7 (AF_INET6 :: port 3389)
Jul 04 20:45:01 debian systemd[1]: xrdp.service: Can't open PID file /run/xrdp/xrdp.pid (yet?) after start: Operation not permit>
Jul 04 20:45:02 debian systemd[1]: Started xrdp daemon.
Jul 04 20:45:03 debian xrdp[555]: (555)(140658685122368)[INFO ] starting xrdp with pid 555
Jul 04 20:45:03 debian xrdp[555]: (555)(140658685122368)[INFO ] address [0.0.0.0] port [3389] mode 1
Jul 04 20:45:03 debian xrdp[555]: (555)(140658685122368)[INFO ] listening to port 3389 on 0.0.0.0
Jul 04 20:45:03 debian xrdp[555]: (555)(140658685122368)[INFO ] xrdp_listen_pp done

Step 6: Next Enable the Xrdp service by using the below command

root@debian:~# 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

Step 7: Add Xrdp user to SSL-Cert group by using the below command

root@debian:~# sudo adduser xrdp ssl-cert
Adding user `xrdp' to group `ssl-cert' ...
Adding user xrdp to group ssl-cert
Done.

Step 8: Restart the xrdp service by using the below command

root@debian:~# systemctl restart xrdp

Step 9: Check the status from firewall by using the below command

root@debian:~# sudo ufw status
Status: inactive

Step 10: Allow port in firewall using the below command

root@debian:~# sudo ufw allow 3389
Skipping adding existing rule
Skipping adding existing rule (v6)

Step 11: Again, Check the status from firewall by using the below command

root@debian:~# sudo ufw status
Status: inactive

Step 12: Next, check the IP Address of the system by using the below command

root@debian:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:e3:e1:a1 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.6.131/23 brd 192.168.7.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee3:e1a1/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

Step 13: Open your local Xrdp client and connect to the remote as shown in the below image

Step 14: On the login screen, enter click �YES�� as shown in the image

Step 15: This is the login page of Xrdp.

Conclusion:

We have reached the end of this article. In this guide, we have walked you through the steps required to install Xrdp Server (Remote Desktop) on Debian 11.4. Your feedback is much welcome.

Tag : XRDP debian Linux
FAQ
Q
Do I use Multiple Users Connect via XRDP?
A
Yes, multiple users can connect via the XRDP software solutions. For each user that needs to connect, you will need to configure the session file. You can either manually create this file or you can use the following procedure to automate the creation of the session file.
Q
Is the Xrdp secure?
A
RDP has 3 security levels between the RDP server and the RDP client. Low, medium, and high. Low is 40-bit, data from the client to server is encrypted, the medium is 40-bit encryption both ways, and high is 128-bit encryption both ways. The Xrdp currently supports all 3 encryption levels via the Xrdp.
Q
Does the Xrdp use VNC?
A
In order to relay the graphics and controls between the X Window System and the user, XRDP can utilize several forwarding modes: Xvnc: This mode works by using a VNC server installation.
Q
What is the Xrdp port number?
A
Xrdp listens on port 3389 and if you are behind a UFW firewall, you need to open the port to allow inbound traffic from an RDP client.
Q
What is the difference between RDP and Xrdp?
A
Xrdp is a free and open-source implementation of the Microsoft RDP (Remote Desktop Protocol) server that enables operating systems other than Microsoft Windows (such as Linux and BSD-style operating systems) to provide a fully functional RDP-compatible remote desktop experience.