Cách cài đặt Xrdp (Remote Desktop) máy chủ trên Ubuntu 22.04

Tác giả Security+, T.Ba 09, 2024, 02:28:52 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt Xrdp (Remote Desktop) máy chủ trên Ubuntu 22.04


Một trong những blog đầu tiên tôi viết là cài đặt XRDP trênUbuntu 14.04. Thứ sáu trôi qua nhanh chóng và có rất nhiều điều đã được thay đổi trong XRDP thế giới, chưa kể chúng ta hiện còn có 9 bản sửa đổi Ubuntu nữa. Nó có thể thực hiện tốc độ thay đổi trong CNTT chuyên ngành.

Vì vậy, câu hỏi của ngày hôm nay là:

  • XRDP có còn được sử dụng vào năm 2024 không?
  • Bạn có thể cài đặt XRDP trên Ubuntu 22.04 không?

1. Nhắc nhở về XRDP là gì?

XRDP là một máy tính giao thức để bàn từ nguồn mở rộng cho Linux, cho phép người dùng truy cập máy tính để vẽ đồ họa của họ từ xa. Nền tảng này tương thích với RDP của khách, hỗ trợ nhiều môi trường máy tính để bàn Linux khác nhau và đảm bảo liên lạc được mã hóa an toàn. Là một giải pháp hướng dẫn đến cộng đồng, nó cung cấp trải nghiệm thân thiện cho người dùng để quản lý hệ thống Linux từ các nền tảng khác.

2. XRDP có phù hợp vào năm 2024 không?

XRDP được duy trì và cập nhật thường xuyên. Kiểm tra trang web của họ vào đây.

Tất cả những gì tôi cần hiện nay đều là phiên bản Ubuntu 22.04 dành cho máy tính để bàn. Tôi viết bài này trên máy tính xách tay Ubuntu 22.04.

Mã nguồn [Chọn]
echo $XDG_CURRENT_DESKTOP
ubuntu:GNOME
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS

3. Hướng dẫn cài đặt XRDP trên Ubuntu 22.04

Bước 1 – Cập nhật Ubuntu

Mã nguồn [Chọn]
sudo apt-get update
sudo apt-get upgrade

Bước 2 – Cài đặt XRDP

Mã nguồn [Chọn]
sudo apt install xrdp -y
Bạn sẽ thấy đầu ra này:

Mã nguồn [Chọn]
sudo apt install xrdp
[sudo] password for rbailey:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libhawtjni-runtime-java libjansi-java libjansi-native-java libjline2-java
  python3-cliapp python3-markdown python3-pygments python3-ttystatus
  scala-library scala-parser-combinators scala-xml
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  xorgxrdp
Suggested packages:
  guacamole
The following NEW packages will be installed
  xorgxrdp xrdp
0 to upgrade, 2 to newly install, 0 to remove and 15 not to upgrade.
Need to get 582 kB of archives.
After this operation, 3,380 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://gb.archive.ubuntu.com/ubuntu jammy/universe amd64 xrdp amd64 0.9.17-2ubuntu2 [517 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu jammy/universe amd64 xorgxrdp amd64 1:0.2.17-1build1 [65.3 kB]
Fetched 582 kB in 0s (2,756 kB/s) 
Selecting previously unselected package xrdp.
(Reading database ... 243766 files and directories currently installed.)
Preparing to unpack .../xrdp_0.9.17-2ubuntu2_amd64.deb ...
Unpacking xrdp (0.9.17-2ubuntu2) ...
Selecting previously unselected package xorgxrdp.
Preparing to unpack .../xorgxrdp_1%3a0.2.17-1build1_amd64.deb ...
Unpacking xorgxrdp (1:0.2.17-1build1) ...
Setting up xrdp (0.9.17-2ubuntu2) ...

Generating 2048 bit rsa key...

ssl_gen_key_xrdp1 ok

saving to /etc/xrdp/rsakeys.ini

Created symlink /etc/systemd/system/multi-user.target.wants/xrdp-sesman.service
→ /lib/systemd/system/xrdp-sesman.service.
Created symlink /etc/systemd/system/multi-user.target.wants/xrdp.service → /lib/
systemd/system/xrdp.service.
Setting up xorgxrdp (1:0.2.17-1build1) ...
Processing triggers for man-db (2.10.2-1) ...#####..........................]
Processing triggers for libc-bin (2.35-0ubuntu3.6) ...

Bạn có thể kiểm tra xem XRDP đang chạy hay không bằng cách nhập:

Mã nguồn [Chọn]
sudo systemctl status xrdp
Bạn sẽ tìm thấy đầu ra như thế này:

Mã nguồn [Chọn]
sudo systemctl status xrdp
 xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2024-01-23 21:32:50 GMT; 1min 19s ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
    Process: 9815 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS)
    Process: 9823 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 9824 (xrdp)
      Tasks: 1 (limit: 37961)
     Memory: 956.0K
        CPU: 26ms
     CGroup: /system.slice/xrdp.service
             └─9824 /usr/sbin/xrdp

Jan 23 21:32:49 ichard-bailey systemd[1]: Starting xrdp daemon...
Jan 23 21:32:49 richard-bailey xrdp[9823]: [INFO ] address [0.0.0.0] port [3389] mode 1
Jan 23 21:32:49 richard-bailey xrdp[9823]: [INFO ] listening to port 3389 on 0.0.0.0
Jan 23 21:32:49 richard-bailey xrdp[9823]: [INFO ] xrdp_listen_pp done
Jan 23 21:32:49 richard-bailey systemd[1]: xrdp.service: Can't open PID file /run/xrdp/>
Jan 23 21:32:50 systemd[1]: Started xrdp daemon.
Jan 23 21:32:51 richard-bailey xrdp[9824]: [INFO ] starting xrdp with pid 9824
Jan 23 21:32:51 richard-bailey xrdp[9824]: [INFO ] address [0.0.0.0] port [3389] mode 1
Jan 23 21:32:51 rchard-bailey xrdp[9824]: [INFO ] listening to port 3389 on 0.0.0.0
Jan 23 21:32:51 richard-bailey xrdp[9824]: [INFO ] xrdp_listen_pp done

Bước 3 – Định cấu hình SSL

Đây là một tính năng mới kể từ lần cuối cùng tôi thử nghiệm tính năng này sáu năm trước—bằng chứng về thời gian đã thay đổi nhanh chóng như thế nào.
đánh đánh

sudo adduser xrdp ssl-cert

Bây giờ khởi động lại XRDP dịch vụ.

Mã nguồn [Chọn]
sudo systemctl restart xrdp
Bây giờ Thêm quy tắc tường lửa để cho phép lưu lượng truy cập vào và ra trên cổng 3389

Mã nguồn [Chọn]
sudo ufw allow from 192.168.0.0/24 to any port 3389
sudo ufw allow 3389

Lưu ý: PC Windows của tôi mà tôi sẽ sử dụng để kiểm tra điều này trên mạng cục bộ của tôi, 192. xxx Nếu bạn đang theo dõi, bạn phải thay đổi giá trị này thành giá trị phù hợp.

Bước 4 – Kiểm tra XRDP kết nối

Bây giờ tôi đã chuyển sang PC Windows của mình.

Bước đầu tiên là mở Remote Desktop Connection (MSTSC)

Đối với Windows:


  • Tìm kiếm "Kết nối máy tính từ xa": Bạn có thể thực hiện công việc này bằng cách nhập "Kết nối máy tính từ xa" vào thanh tìm kiếm của Windows.
  • Mở ứng dụng Remote Desktop Connection: Nhấp vào ứng dụng trong quá trình tìm kiếm kết quả.
  • Nhập IP Địa chỉ hoặc Tên máy chủ của Máy tính: Trong cửa sổ Remote Desktop Connection, bạn phải nhập IP địa chỉ hoặc tên máy chủ của máy tính mà bạn muốn kết nối.
  • Bấm vào "Kết nối": Khi bạn đã nhập thông tin yêu cầu, hãy nhấp vào nút "Kết nối".
  • Nhập xác thực thông tin: Bạn sẽ được nhắc nhập tên người dùng và mật khẩu cho máy tính bạn đang kết nối. Đảm bảo bạn có thông tin xác thực chính xác.
  • Kết nối: Sau khi nhập thông tin xác thực, hãy nhấp vào "OK" hoặc "Kết nối" để thiết lập kết nối RDP.

Đối với Mac:


  • Tải xuống Microsoft Remote Desktop từ App Store: Nếu chưa có, bạn có thể tải xuống ứng dụng Microsoft Remote Desktop từ Mac App Store .
  • Mở Microsoft Remote Desktop: Sau khi cài đặt, hãy mở ứng dụng.
  • Nhấn vào "Mới": Để tạo kết nối mới, hãy nhấp vào biểu tượng "+" hoặc chọn "Mới" từ menu Tệp.
  • Nhập kết nối chi tiết: Nhập PC tên hoặc IP địa chỉ và định cấu hình các cài đặt khác nếu cần.
  • Lưu kết nối: Bấm vào "Thêm" để lưu kết nối.
  • Kết nối: Chọn kết nối mới tạo và nhấp vào "Bắt đầu" để bắt đầu RDP phiên bản.

Bước 5 - Bắt đầu kết nối RDP

Sử dụng công cụ kết nối máy tính từ xa để kết nối với máy chủ Ubuntu của bạn. Bạn có thể sử dụng RDP hoặc FQDN nếu mạng gia đình được bật.


Khi bạn nhận được cảnh báo này, hãy nhấp vào CÓ.


Sau một vài giây, bạn sẽ kết nối với máy Ubuntu. Đây là thông tin đăng nhập nhanh chóng mà bạn sẽ nhận được:


Nhập tên người dùng và mật khẩu của bạn cho máy Ubuntu.


Nếu bạn nhận được thông báo này, bạn đã nhập sai thông tin chi tiết của mình hoặc đăng nhập vào một hoạt động (có những phiên bản khác đã đăng nhập) – Đôi khi, bạn có thể gặp ĐEN màn hình.


Bước 6 – Kích hoạt chế độ nhiều người dùng

Cài đặt D-BUS

Mã nguồn [Chọn]
sudo apt-get install dbus-x11
Chỉnh sửa tệp   Đăng nhập để xem liên kết

Mã nguồn [Chọn]
sudo nano /etc/xrdp/startwm.sh
Thêm phần sau: Đảm bảo rằng mã đi TRƯỚC dòng này test -x /etc/X11/Xsession && exec /etc/X11/Xsession.

Mã nguồn [Chọn]
export $(dbus-launch)
Đầu ra của bạn sẽ trông như thế này:

Mã nguồn [Chọn]
#!/bin/sh
# xrdp X session start script (c) 2015, 2017 mirabilos
# published under The MirOS Licence

if test -r /etc/profile; then
    . /etc/profile
fi

if test -r /etc/default/locale; then
    . /etc/default/locale
    test -z "${LANG+x}" || export LANG
    test -z "${LANGUAGE+x}" || export LANGUAGE
    test -z "${LC_ADDRESS+x}" || export LC_ADDRESS
    test -z "${LC_ALL+x}" || export LC_ALL
    test -z "${LC_COLLATE+x}" || export LC_COLLATE
    test -z "${LC_CTYPE+x}" || export LC_CTYPE
    test -z "${LC_IDENTIFICATION+x}" || export LC_IDENTIFICATION
    test -z "${LC_MEASUREMENT+x}" || export LC_MEASUREMENT
    test -z "${LC_MESSAGES+x}" || export LC_MESSAGES
    test -z "${LC_MONETARY+x}" || export LC_MONETARY
    test -z "${LC_NAME+x}" || export LC_NAME
    test -z "${LC_NUMERIC+x}" || export LC_NUMERIC
    test -z "${LC_PAPER+x}" || export LC_PAPER
    test -z "${LC_TELEPHONE+x}" || export LC_TELEPHONE
    test -z "${LC_TIME+x}" || export LC_TIME
    test -z "${LOCPATH+x}" || export LOCPATH
fi

if test -r /etc/profile; then
    . /etc/profile
fi

export $(dbus-launch)

test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession

Bây giờ khởi động lại máy Ubuntu

Mã nguồn [Chọn]
sudo reboot
Đó là nó; kết nối lại với máy chủ Ubuntu của bạn và bạn sẽ có một máy tính để bàn mới ngay cả khi máy chủ (hoặc máy tính xách tay) đã được sử dụng.

Chúng tôi hoan nghênh mọi phản hồi. Hãy bình luận bên dưới.