Thiết lập truy cập máy tính để bàn từ xa trên máy chủ Debian không phải điều tôi nghĩ mình sẽ làm ba năm trước. Lúc đó, SSH là đủ cho mọi thứ. Nhưng công việc từ xa đã thay đổi hoàn toàn tình hình.
XRDP cung cấp cho bạn quyền truy cập giao diện đồ họa vào máy chủ Debian của mình từ bất kỳ đâu. Cho dù bạn đang khắc phục sự cố từ nhà hay cần hiển thị cho đồng nghiệp thứ gì đó trực quan, nó tốt hơn nhiều so với việc cố gắng giải thích các lệnh terminal qua Slack.
XRDP là gì và tại sao sử dụng nó để truy cập máy tính để bàn từ xa Debian?

XRDP triển khai Giao thức Máy tính để bàn từ xa của Microsoft trên các hệ thống Linux. Không giống VNC yêu cầu phần mềm máy khách riêng, RDP hoạt động với Kết nối Máy tính để bàn từ xa tích hợp sẵn của Windows.
Nhu cầu về các giải pháp máy tính để bàn từ xa đã tăng vọt, với thị trường phần mềm máy tính để bàn từ xa toàn cầu dự kiến sẽ đạt 11,98 tỷ đô la vào năm 2032. Điều này phản ánh mức độ phổ biến của truy cập từ xa hiện nay.
Đây là lý do tôi thích XRDP hơn các giải pháp khác:
- Hoạt động với máy khách RDP gốc của Windows
- Mã hóa kết nối theo mặc định
- Hỗ trợ nhiều người dùng cùng lúc
- Sử dụng ít băng thông hơn hầu hết các triển khai VNC
- Xử lý chia sẻ khay nhớ tạm và tệp một cách hợp lý
Debian chạy trên 96,3% máy chủ web hàng đầu, chiếm 16% thị trường máy chủ Linux. Việc sử dụng rộng rãi đó có nghĩa là có rất nhiều tài liệu khi mọi thứ xảy ra sự cố.
Yêu cầu hệ thống cho Máy chủ RDP Debian
Bạn sẽ cần một vài thứ trước khi bắt đầu:
- Debian 10, 11 hoặc 12
- Ít nhất 2GB RAM (tôi học được điều này khi instance 1GB của tôi liên tục bị sự cố)
- Quyền truy cập root hoặc sudo
- Kết nối mạng để tải xuống
- 2GB free disk space minimum
Đối với thiết lập đám mây, một Debian VPS hoạt động tốt. Tôi đã kiểm tra điều này trên droplet DigitalOcean và instance Linode mà không gặp vấn đề gì.
Cách cập nhật Debian trước khi cài đặt XRDP

Luôn cập nhật trước tiên. Tôi từng dành hai tiếng gỡ lỗi xung đột gói mà một bản cập nhật đơn giản đã có thể tránh được.
sudo apt update && sudo apt upgrade -y
Lệnh này lấy thông tin gói mới nhất và áp dụng các bản vá bảo mật. Cờ -y bỏ qua các lời nhắc xác nhận.
Cách Cài Đặt Môi Trường Desktop cho XRDP trên Debian

Hầu hết các máy chủ Debian chạy ở chế độ không giao diện. Bạn cần một môi trường desktop để XRDP hoạt động đúng cách.
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils -y
Tôi sử dụng Xfce vì nó nhẹ và ổn định trên các kết nối từ xa. GNOME cũng hoạt động nhưng tiêu tốn nhiều tài nguyên hơn. Gói xfce4-goodies thêm các tiện ích hữu ích như máy tính và trình soạn thảo văn bản.
Hướng Dẫn Từng Bước Cài Đặt XRDP trên Máy Chủ Debian

Cài đặt XRDP từ kho lưu trữ Debian:
sudo apt install xrdp -y
Kiểm tra xem nó có khởi động đúng hay không:
sudo systemctl status xrdp
Bạn sẽ thấy hoạt động (đang chạy) hiển thị màu xanh. Nếu không, có gì đó không ổn với quá trình cài đặt.
Cách Định Cấu Hình Cài Đặt XRDP và Phiên Người Dùng trên Debian

XRDP cần một số điều chỉnh để hoạt động mượt mà. Cấu hình mặc định gây ra các vấn đề mà tôi đã gặp nhiều lần.
Định Cấu Hình Phiên Người Dùng cho XRDP trên Debian
Tạo một tệp phiên cho mỗi người dùng cần quyền truy cập RDP:
echo "xfce4-session" > ~/.xsession
Nếu không có tệp này, bạn sẽ nhận được một desktop trắng sau khi đăng nhập. Tôi đã mất rất lâu để tìm ra điều này lần đầu tiên.
Cách Thêm Người Dùng XRDP vào Nhóm SSL-Cert
XRDP cần quyền truy cập vào chứng chỉ SSL để kết nối an toàn:
sudo adduser xrdp ssl-cert
Khởi Động Lại Dịch Vụ XRDP Sau Khi Thay Đổi
Khởi động lại dịch vụ để áp dụng các thay đổi cấu hình:
sudo systemctl restart xrdp
Cách Mở Cổng 3389 cho RDP trên Debian

RDP sử dụng cổng 3389. Bạn cần mở cổng này trong tường lửa của mình mà vẫn giữ tất cả những thứ khác ở trạng thái khóa.
Bảo mật Truy cập RDP với UFW Firewall trên Debian
UFW (Uncomplicated Firewall) đơn giản hơn cho các cấu hình cơ bản:
sudo ufw allow 3389/tcp
Để bảo mật tốt hơn, hãy hạn chế truy cập vào địa chỉ IP của bạn:
sudo ufw allow from YOUR_IP_ADDRESS to any port 3389
Thay thế YOUR_IP_ADDRESS bằng địa chỉ IP công khai thực tế của bạn.
Cách Sử dụng nftables cho Quy tắc Tường lửa XRDP
Nếu bạn đang sử dụng nftables thay vì UFW:
sudo nft add rule inet filter input tcp dport 3389 ct state new, established counter accept
Tôi thích UFW cho hầu hết các tình huống, nhưng nftables cung cấp cho bạn quyền kiểm soát chi tiết hơn nếu bạn cần.
Cách Chỉnh sửa XRDP.ini để Bảo mật và Hiệu suất
Cấu hình XRDP mặc định hoạt động cho truy cập cơ bản, nhưng bạn có thể muốn tùy chỉnh cài đặt kết nối hoặc các tham số bảo mật.
Chỉnh sửa tệp cấu hình chính:
sudo nano /etc/xrdp/xrdp.ini
Các cài đặt chính cần xem xét:
- security_layer=tls - Bắt buộc mã hóa TLS
- crypt_level=high - Mức mã hóa tối đa
- port=3389 - Thay đổi giá trị này để chạy trên một cổng khác
Đang cấu hình StartWM.sh cho các Phiên XRDP Ổn định
Tập lệnh khởi động phiên kiểm soát những gì xảy ra khi người dùng kết nối:
sudo nano /etc/xrdp/startwm.sh
Thêm các dòng này ở cuối để ngăn chặn các sự cố phiên thông thường:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
exec startxfce4
Những biến môi trường này có thể can thiệp vào khởi động phiên làm việc. Tôi gặp phải vấn đề này khi cố gắng chạy các ứng dụng cần giao tiếp D-Bus.
Kết nối đến Máy chủ Debian RDP
Sau khi cấu hình, việc kết nối rất đơn giản từ các hệ điều hành khác nhau.
Cách Kết nối đến XRDP trên Debian từ Windows
Windows bao gồm sẵn một client RDP:
- Tìm kiếm "Remote Desktop Connection"
- Nhập địa chỉ IP của máy chủ của bạn
- Nhấp Kết nối
- Nhập tên đăng nhập và mật khẩu Debian của bạn
- Chọn "Xorg" khi được yêu cầu chọn loại phiên
Kết nối thường được thiết lập trong vài giây trên mạng cục bộ.
Cách kết nối đến Debian XRDP từ Linux (Sử dụng Remmina)
Cài đặt Remmina, nó xử lý các kết nối RDP rất tốt:
sudo apt install remmina remmina-plugin-rdp
Remmina cung cấp giao diện đồ họa để quản lý nhiều kết nối từ xa. Bạn có thể lưu các hồ sơ kết nối và điều chỉnh cài đặt hiển thị cho từng kết nối.
Các Phương Pháp Tốt Nhất để Bảo Mật Server Debian RDP

RDP có những tác động bảo mật đáng kể. Tội phạm mạng lợi dụng RDP trong 90% các cuộc tấn công được xử lý bởi các đội ứng phó sự cố.
Cách bật mã hóa TLS cho XRDP trên Debian
Tạo chứng chỉ tự ký cho các kết nối được mã hóa:
sudo mkdir -p /etc/xrdp/certs
cd /etc/xrdp/certs
sudo openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
Điều này tạo ra chứng chỉ hợp lệ trong một năm. Sử dụng chứng chỉ CA thích hợp trong môi trường sản xuất.
Cách Thiết Lập Đường Hầm SSH cho RDP trên Debian
Để bảo mật tối đa, hãy đưa RDP qua SSH:
ssh -L 3389:localhost:3389 user@your-debian-server
Sau đó kết nối với localhost:3389 thay vì IP công khai của máy chủ. Điều này mã hóa tất cả lưu lượng RDP qua đường hầm SSH.
Thay đổi Port của XRDP từ 3389 sang Custom Port
Thay đổi cổng mặc định để giảm các cuộc tấn công tự động:
sudo nano /etc/xrdp/xrdp.ini
Thay đổi port=3389 thành cái gì đó như port=13389, sau đó khởi động lại XRDP. Nhớ cập nhật quy tắc tường lửa của bạn cho phù hợp.
Khắc phục sự cố XRDP trên Debian

XRDP thường gặp các vấn đề khi cài đặt.
Cách giải quyết các vấn đề tương thích giữa Wayland và XRDP
XRDP không hoạt động đúng với máy chủ hiển thị Wayland. Buộc hệ thống sử dụng Xorg:
sudo nano /etc/gdm3/custom.conf
Bỏ dấu comment dòng này:
WaylandEnable=false
Mô hình bảo mật của Wayland xung đột với cách XRDP truy cập hệ thống hiển thị. Điều này sẽ không được khắc phục trong thời gian tới.
Cấu hình nhiều phiên làm việc của người dùng trong XRDP
Mỗi người dùng cần cấu hình phiên làm việc riêng:
echo "xfce4-session" | sudo tee /home/username/.xsession
sudo chown username: username /home/username/.xsession
Thay thế username bằng tên người dùng thực tế. Nếu quyền sở hữu không đúng, tệp phiên sẽ không hoạt động.
Tối ưu hóa tốc độ XRDP trên kết nối chậm

Một số điều chỉnh giúp cải thiện hiệu suất RDP, đặc biệt trên kết nối chậm:
- Sử dụng Xfce thay vì GNOME hoặc KDE
- Vô hiệu hóa hoạt ảnh và hiệu ứng của màn hình nền
- Giảm độ phân giải màn hình cho các phiên làm việc từ xa
- Bật nén trong ứng dụng RDP của bạn
- Hãy xem xét Ubuntu VPS or Fedora VPS nếu Debian không đáp ứng nhu cầu của bạn
Cải thiện hiệu suất lớn nhất đến từ việc chọn một môi trường nền tảng nhẹ. GNOME có thể sử dụng hơn 500MB RAM chỉ cho màn hình nền, trong khi Xfce sử dụng khoảng 200MB.
Video cài đặt Debian RDP [Cài đặt XRDP cho máy chủ máy tính để bàn từ xa]
Kết luận
XRDP biến máy chủ Debian không có giao diện thành thứ gì đó bạn có thể quản lý từ giao diện đồ họa từ bất kỳ nơi nào. Quá trình cài đặt có những điểm lạ, nhưng khi hoạt động tốt, nó khá đáng tin cậy.
Đối với các triển khai sản xuất, hãy cân nhắc các giải pháp được quản lý như Mua RDP các dịch vụ xử lý sự phức tạp cho bạn.
Giữ hệ thống của bạn cập nhật và theo dõi nhật ký truy cập thường xuyên. Nếu bạn đang so sánh các bản phân phối, hãy kiểm tra Debian so với Ubuntu để xem cái nào phù hợp với yêu cầu của bạn hơn.