Máy chủ Linux không có màn hình, và phần lớn thời gian nó cũng không cần. Đôi khi lại cần: một trình duyệt phải chạy từ chính địa chỉ của máy chủ, một công cụ chỉ có giao diện đồ họa, hoặc một desktop bạn để chạy và quay lại từ bất kỳ máy tính nào. Hướng dẫn này thêm desktop nhẹ XFCE và xrdp vào Ubuntu 24.04, để bạn mở nó bằng chính ứng dụng Remote Desktop dùng cho máy chủ Windows.
Chúng tôi đã thử mọi bước trên ảnh Ubuntu 24.04 của mình. Hai thiết lập mặc định làm hỏng lần thử đầu, và bên dưới chúng tôi sửa cả hai. Bạn cần một người dùng thường có sudo; hướng dẫn thiết lập Ubuntu tạo sẵn một người. Trong ví dụ, người đó tên deploy.
1. Cài XFCE và xrdp
sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp
Trên máy chủ 2 GB của chúng tôi, việc này mất khoảng bốn phút rưỡi và chiếm 1,7 GB đĩa (trước đó dùng 2,7 GB, sau đó 4,4 GB). Nó cài xrdp 0.9.24, khởi động ngay và lắng nghe ở cổng 3389.
2. Để xrdp khởi động XFCE, không phải GNOME
Đăng nhập bằng người dùng sẽ dùng desktop và chạy:
echo xfce4-session > ~/.xsession
Không có file này, lần đăng nhập đầu của chúng tôi khởi động GNOME thay vì XFCE, và phiên chết ngay với "Oh no! Something has gone wrong". Các gói ở bước 1 kéo theo trình quản lý phiên của GNOME, và Ubuntu đặt nó làm mặc định. Có ~/.xsession rồi thì xrdp khởi động XFCE.
3. Cho xrdp dùng TLS
xrdp chạy bằng người dùng riêng xrdp, và người dùng này không đọc được khóa riêng của máy chủ. Kết nối đầu tiên của chúng tôi vẫn được, nhưng /var/log/xrdp.log cho thấy vì sao không nên tin nó:
Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1
Không có khóa, xrdp quay về cách mã hóa RDP cũ thay vì TLS. Cấp quyền đọc cho nó rồi khởi động lại:
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp
Kết nối tiếp theo hiện trong nhật ký của chúng tôi là TLS connection established ... TLSv1.3. Bạn có thể kiểm tra máy chủ của mình cùng cách đó:
sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2
4. Giữ cổng 3389 tránh xa internet
Sau khi cài, xrdp lắng nghe trên mọi địa chỉ. Khác với Windows, xrdp không có Network Level Authentication, nên ai chạm tới cổng cũng có một màn hình đăng nhập để đoán mật khẩu. Hãy để nó chỉ lắng nghe trên chính máy chủ:
sudo sed -i 's|^port=3389$|port=tcp://127.0.0.1:3389|' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
ss -ltn | grep 3389
Dòng cuối phải hiện 127.0.0.1:3389. Trong lần thử của chúng tôi, sau đó kết nối trực tiếp tới địa chỉ máy chủ ở cổng 3389 bị từ chối, còn đường hầm ở bước sau vẫn hoạt động.
5. Kết nối qua SSH
Trên máy tính của bạn, mở một đường hầm. Trên Windows, PowerShell có cùng lệnh ssh:
ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP
Với gói NAT, thêm -p và cổng SSH riêng trong bảng điều khiển. Để cửa sổ đó mở. Sau đó trỏ ứng dụng Remote Desktop tới localhost:13389 và đăng nhập bằng deploy với mật khẩu của người dùng đó:
- Windows: Remote Desktop Connection (
mstsc). - macOS: Windows App từ App Store.
- Linux: Remmina, hoặc
xfreerdp /v:localhost:13389 /u:deploy.
Cổng ở máy bạn là 13389 chứ không phải 3389, vì cổng 3389 trên máy tính của bạn có thể đã bị Remote Desktop của chính máy đó dùng. Lần đầu, ứng dụng cảnh báo về một chứng chỉ nó không nhận ra. Đó là chứng chỉ tự ký của máy chủ, và kết nối vốn đã được mã hóa bên trong SSH.
6. Bạn nhận được gì
Bạn có một desktop XFCE với thanh panel, trình quản lý file và terminal. Trên máy chủ của chúng tôi, một phiên thêm khoảng 360 MB RAM: 388 MB đã dùng trước khi kết nối, 747 MB trong phiên.
Đóng cửa sổ Remote Desktop không làm bạn đăng xuất. Trong lần thử, một lệnh chạy lâu vẫn tiếp tục sau khi chúng tôi ngắt kết nối. Khi kết nối lại, xrdp đưa chúng tôi về đúng phiên cũ (reconnected session ... display :10 trong nhật ký của nó). Để thật sự kết thúc phiên, dùng Log Out trong menu XFCE.
Chọn gói nào
Desktop cần RAM hơn là CPU. Micro (2 vCPU, 2 GB, 25 GB, $5/tháng) chạy XFCE và công cụ nhẹ thoải mái. Nếu định để trình duyệt mở trong phiên, hãy chọn Small với 4 vCPU và 4 GB giá $8/tháng. Cả hai đều là gói NAT, và ở đây không sao cả: Remote Desktop đi qua cổng SSH của bạn.
Nếu thứ bạn thật sự cần là phần mềm Windows, một Windows VPS chạy nó trực tiếp, và Windows-Small bắt đầu từ $11/tháng. Ubuntu 24.04 có trên trang Ubuntu VPS và trên mọi gói Linux tại VPS. Thanh toán bằng USDT, USDC hoặc ETH trên Base, Ethereum hoặc Polygon.
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên.