RDP Monster

Remote Desktop từ Linux sang Windows: Remmina, xfreerdp và cách sửa lỗi

Remote Desktop từ Linux sang Windows: Remmina, xfreerdp và cách sửa lỗi

Nên dùng ứng dụng remote desktop nào trên Linux?

Microsoft không phát hành ứng dụng khách RDP cho Linux: Windows App hỗ trợ Windows, macOS, iOS, Android và trình duyệt, nhưng không có bản cho máy tính Linux. Thứ Linux có là FreeRDP, một bản triển khai mã nguồn mở của giao thức, cùng vài giao diện xây dựng trên nó: Remmina (GTK, lưu được hồ sơ kết nối), GNOME Connections và KRDC của KDE (ít tùy chọn hơn), và xfreerdp, ứng dụng dòng lệnh của chính FreeRDP với đầy đủ mọi tùy chọn.

Ứng dụngGiao diệnNLA (CredSSP)Codec hiện đạiChuyển hướngTình trạng
RemminaGiao diện GTK, lưu hồ sơCó (qua FreeRDP)RemoteFX, GFX, H.264 nếu FreeRDP được biên dịch kèmClipboard, thư mục, máy in, âm thanh, microĐang được duy trì tích cực
xfreerdp (FreeRDP 3)Dòng lệnhCóRemoteFX, GFX, H.264Mọi thứ FreeRDP hỗ trợĐang được duy trì tích cực
GNOME Connections / KRDCGiao diện tích hợp vào môi trường desktopCó (qua FreeRDP)Tùy bản dựng FreeRDPCơ bản (clipboard, co giãn)Duy trì cùng môi trường desktop
rdesktopDòng lệnhChỉ Kerberos, không có NTLMKhông (codec bitmap cũ)Clipboard, ổ đĩa, âm thanhBản phát hành cuối 1.9.0, tháng 10/2019

Hãy dùng Remmina cho những máy bạn kết nối hằng ngày, nhưng vẫn nên học xfreerdp: khi Remmina lỗi, nó báo lỗi của FreeRDP, và dòng lệnh là nơi chẩn đoán nhanh nhất. Chỉ giữ rdesktop cho những máy không hỗ trợ Network Level Authentication, như Windows XP hoặc Server 2003 chưa vá.

Chuẩn bị phía Windows trước

Trước khi động đến Remmina hay xfreerdp, hãy bật Remote Desktop trên máy Windows 11 và kiểm tra luôn ba điều sau:

  • Phiên bản: chỉ Windows Pro, Enterprise và Server nhận phiên RDP đến; bản Home không thể làm máy chủ RDP, dù bạn dùng ứng dụng khách nào.
  • Tài khoản: người dùng cần một mật khẩu thực sự (mã PIN Windows Hello không dùng được qua RDP) và phải là quản trị viên hoặc thuộc nhóm Remote Desktop Users.
  • Địa chỉ: ghi lại IP bằng lệnh ipconfig: địa chỉ riêng trong mạng LAN, IP công khai nếu là Windows VPS, hoặc một VPN vào mạng nếu là PC ở nhà truy cập qua internet.

Từ Linux, hãy xác nhận có dịch vụ đang lắng nghe trước khi đổ lỗi cho ứng dụng khách:

nc -vz 203.0.113.10 3389

Kết quả succeeded nghĩa là cổng truy cập được; nếu bị từ chối hoặc treo, xem phần lỗi thường gặp bên dưới.

Remmina: cách dùng giao diện đồ họa

1. Cài Remmina và plugin RDP

Trên hầu hết các bản phân phối, hỗ trợ RDP là một plugin riêng; plugin secret lưu mật khẩu vào keyring của môi trường desktop:

# Debian / Ubuntu
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret

# Fedora
sudo dnf install remmina remmina-plugins-rdp remmina-plugins-secret

# Arch Linux
sudo pacman -S remmina freerdp

# Any distribution (Flatpak)
flatpak install flathub org.remmina.Remmina

2. Tạo hồ sơ kết nối

Nhấn + để tạo hồ sơ mới và đặt Protocol (giao thức) là RDP - Remote Desktop Protocol. Ở ô Server, nhập IP hoặc tên máy, thêm cổng không chuẩn sau dấu hai chấm, ví dụ 203.0.113.10:3390. Điền Username và Password; để trống Domain nếu là tài khoản Windows cục bộ. Lưu lại và nhấp đúp để kết nối; phần chứng chỉ bên dưới giải thích hộp thoại bạn sẽ thấy đầu tiên.

3. Độ phân giải, co giãn và chất lượng

Trong thẻ Basic, mục Resolution có Use initial window size, Use client resolution (phù hợp khi toàn màn hình) và các kích thước cố định; nút độ phân giải động trên thanh công cụ cho phép Windows sắp xếp lại màn hình khi bạn đổi kích thước cửa sổ. Colour depth mặc định là Automatic (32 bpp); GFX AVC444 (32 bpp) cho hình sắc nét nhất trên Windows hiện nay, còn High colour (16 bpp) kèm Quality ở mức Poor (fastest) hợp với đường truyền chậm. Trên màn hình HiDPI, tùy chọn Remote scale factor trong thẻ Advanced khiến Windows hiển thị giao diện lớn hơn thay vì kéo giãn điểm ảnh phía bạn.

4. Chuyển hướng clipboard, thư mục và âm thanh

Đồng bộ clipboard được bật sẵn (thẻ Advanced có công tắc Turn off clipboard sync). Share folder trong thẻ Basic chuyển một thư mục cục bộ vào phiên làm việc, nơi nó xuất hiện trong Windows Explorer dưới This PC. Đặt Sound thành Local để nghe âm thanh Windows qua loa của máy Linux, và bật Redirect local microphone cho chiều ngược lại.

xfreerdp (FreeRDP 3): cách dùng dòng lệnh

1. Cài FreeRDP 3

# Debian 12+ / Ubuntu 24.04+ (binary: xfreerdp3)
sudo apt install freerdp3-x11

# Fedora (binary: xfreerdp, version 3.x)
sudo dnf install freerdp

# Arch Linux (binary: xfreerdp)
sudo pacman -S freerdp

Debian và Ubuntu đặt tên tệp chạy FreeRDP 3 là xfreerdp3 để nó cùng tồn tại với freerdp2-x11 (tên xfreerdp thông thường). Kiểm tra bằng xfreerdp3 /version và thay tên tương ứng trong các lệnh bên dưới. Trên Wayland, xfreerdp chạy qua XWayland; gói freerdp3-sdl cung cấp ứng dụng khách SDL gốc, mới hơn của FreeRDP.

2. Kết nối

xfreerdp3 /v:203.0.113.10 /u:Administrator /from-stdin +dynamic-resolution +clipboard

/from-stdin hỏi mật khẩu thay vì để nó lại trong lịch sử shell như khi dùng /p:. Với tài khoản domain, viết /u:CORP\alice hoặc /u:[email protected]; cổng không mặc định được ghi vào tham số máy chủ, /v:203.0.113.10:3390. Một số tham số hữu ích khác:

  • /f để chạy toàn màn hình (Ctrl+Alt+Enter để bật/tắt), hoặc /size:1920x1080 và tỷ lệ phần trăm như /size:80%.
  • /multimon để trải trên mọi màn hình, hoặc /monitors:0,1 để chọn một số màn hình.
  • /kbd:layout:0x40c để ép dùng một bố cục bàn phím (tiếng Pháp); /list:kbd in ra danh sách mã.

3. Chuyển hướng clipboard, thư mục, âm thanh và máy in

xfreerdp3 /v:203.0.113.10 /u:Administrator /from-stdin \
  +clipboard \
  /drive:share,$HOME/rdp-share \
  /sound /microphone \
  /printer

/drive:name,path đưa một thư mục cục bộ vào phiên làm việc; nó xuất hiện trong Windows Explorer dưới dạng share on <your-hostname> trong This PC. +home-drive chia sẻ toàn bộ thư mục home của bạn, +drives chia sẻ mọi hệ thống tệp đang gắn (thường rộng hơn mức bạn cần). /sound phát âm thanh Windows qua hệ thống âm thanh mặc định (PulseAudio, hoặc lớp tương thích của PipeWire); /audio-mode:1 để âm thanh lại trên máy chủ.

4. Độ phân giải và co giãn HiDPI

+dynamic-resolution khiến Windows tự đổi kích thước màn hình khi bạn đổi kích thước cửa sổ, nên chữ luôn sắc nét. /smart-sizing giữ nguyên màn hình từ xa và co giãn hình ảnh phía Linux, nên bị mờ ở mọi mức khác 100%. Trên màn hình 4K, dùng /scale:180 (giá trị chấp nhận: 100, 140, 180) để Windows hiển thị giao diện ở 180%, hoặc /scale-desktop:200 để tinh chỉnh hơn. Về băng thông, /gfx:AVC444 chọn đường xử lý H.264 trên máy chủ hỗ trợ, còn -wallpaper -themes /bpp:16 là tổ hợp cho băng thông thấp.

Giải thích cảnh báo chứng chỉ

Ở lần kết nối đầu tiên tới một máy, xfreerdp in ra chủ thể (subject), bên phát hành (issuer) và dấu vân tay SHA-256 của chứng chỉ, rồi hỏi (bằng tiếng Anh) với nội dung: chứng chỉ X.509 ở trên không thể xác minh, có thể do bạn không có chứng chỉ CA trong kho chứng chỉ, hoặc chứng chỉ đã hết hạn; bạn có tin tưởng chứng chỉ trên không? (Y/T/N). Y lưu dấu vân tay vĩnh viễn, T tin tưởng nó cho phiên này, N hủy kết nối (Remmina hỏi điều tương tự trong hộp thoại Accept certificate?). Cảnh báo này là bình thường: Windows tự tạo một chứng chỉ tự ký cho dịch vụ Remote Desktop, cấp cho chính tên máy, và không có tổ chức cấp chứng chỉ (CA) nào bảo chứng cho nó. Phiên làm việc vẫn được mã hóa; chỉ là ứng dụng khách không chứng minh được ai ở đầu bên kia. Để xác minh, hãy so sánh với chứng chỉ trong mục Remote Desktop, Certificates của certlm.msc trên máy Windows. Các dấu vân tay đã chấp nhận được lưu thành một tệp cho mỗi máy trong ~/.config/freerdp/server/ (FreeRDP 2 dùng ~/.config/freerdp/known_hosts2).

Cảnh báo cần coi trọng là !!!Certificate for host:port has changed!!!. Nó xuất hiện khi dấu vân tay đã lưu không còn khớp: hợp lệ sau khi cài lại Windows, đổi tên máy hoặc gia hạn chứng chỉ, nhưng cũng chính là dấu hiệu của một cuộc tấn công xen giữa (man-in-the-middle). Hãy xác nhận thay đổi ở phía Windows, sau đó xóa mục của máy đó khỏi kho FreeRDP và kết nối lại. Để tự động hóa, /cert:tofu chấp nhận ở lần dùng đầu tiên rồi ghim lại về sau; /cert:fingerprint:sha256:<hex> ghim rõ ràng một chứng chỉ đã biết. /cert:ignore và tùy chọn Ignore certificate của Remmina tắt hoàn toàn việc kiểm tra (chỉ dùng trong môi trường thử nghiệm).

Lỗi thường gặp: connection refused, timeout, NLA và CredSSP

Connection refused (kết nối bị từ chối): xfreerdp báo ERRCONNECT_CONNECT_FAILED [0x00020006]. Máy đã trả lời, nhưng không có gì chấp nhận kết nối trên cổng đó: Remote Desktop bị tắt, dịch vụ đã dừng, hoặc sai cổng. Trên Windows, Get-Service TermService phải báo Running và netstat -ano | findstr :3389 phải hiện một dòng LISTENING. Nếu kết nối bị treo thay vào đó, gói tin đang bị tường lửa, quy tắc NAT hoặc tuyến VPN chặn bỏ; hướng dẫn khắc phục lỗi timeout khi kết nối Remote Desktop này đi qua từng lớp một.

Lỗi NLA và CredSSP: Windows hiện đại yêu cầu Network Level Authentication. Thông tin đăng nhập được kiểm tra qua CredSSP trước khi bất kỳ màn hình nào được hiển thị. Triệu chứng thường gặp là ERRCONNECT_LOGON_FAILURE [0x00020014], và trong đa số trường hợp đó là lỗi thông tin đăng nhập mà Windows cố tình không giải thích: gõ nhầm, tài khoản cục bộ bị ghi kèm tiền tố domain, tài khoản domain lại thiếu tiền tố, hoặc mật khẩu rỗng, thứ mà NLA từ chối. Một nguyên nhân khó thấy hơn là mật khẩu đã hết hạn hoặc bắt buộc phải đổi, điều CredSSP không xử lý được vì hộp thoại đổi mật khẩu nằm trong giao diện mà bạn chưa vào tới. Ép dùng /sec:tls sẽ bỏ qua NLA và đưa bạn tới màn hình đăng nhập Windows, nếu chính sách của máy cho phép. Với rdesktop, tình huống tương tự hiện thông báo CredSSP required by server; hãy chuyển sang FreeRDP, vì rdesktop chỉ dùng CredSSP với Kerberos.

Bảo mật: VPN hoặc đường hầm là trên hết (đổi cổng không phải là bảo mật)

Việc cổng 3389 có thể truy cập được từ đâu quan trọng hơn mọi tùy chọn của ứng dụng khách. Một cổng RDP mở ra internet sẽ hứng lưu lượng dò mật khẩu chỉ sau vài giờ, khi đó NLA và mật khẩu mạnh là lớp phòng thủ duy nhất. Chuyển dịch vụ sang cổng khác chỉ thay đổi thời điểm: các công cụ quét liệt kê đủ 65.535 cổng và quá trình bắt tay RDP tự lộ diện bất kể số cổng là bao nhiêu. Hướng dẫn về cổng RDP 3389 này giải thích thứ gì lắng nghe ở đó và tại sao.

Những gì thực sự giảm mức độ phơi nhiễm: WireGuard hoặc một VPN khác để cổng 3389 chỉ truy cập được từ địa chỉ riêng; một quy tắc Windows Firewall giới hạn theo IP nguồn của chính bạn trên VPS; hoặc một đường hầm SSH qua tính năng OpenSSH Server của Windows, để cổng RDP không bao giờ cần mở:

ssh -N -L 13389:localhost:3389 [email protected]
# in a second terminal
xfreerdp3 /v:localhost:13389 /u:Administrator /from-stdin +dynamic-resolution +clipboard

Dù chọn cách nào, hãy luôn bật NLA và áp dụng khóa tài khoản (account lockout).

Tất cả những điều trên giả định bạn có một máy Windows đáng để kết nối. Nếu mục tiêu chỉ là có Windows sẵn sàng từ máy Linux của bạn (cho phần mềm không có bản Linux, hoặc một phiên làm việc phải chạy liên tục khi laptop đang ngủ), thì một PC ở nhà tự khởi động lại để cập nhật, nằm sau router bạn không cấu hình được, là lựa chọn kém. Một máy chủ Windows RDP với quyền quản trị (Administrator) đầy đủ được lưu trữ sẵn là phương án đơn giản hơn: rdp.monster cung cấp máy chủ trong khoảng 10 giây sau khi thanh toán được xác nhận, với CPU và RAM riêng, băng thông không giới hạn (sử dụng hợp lý), không cần KYC, chấp nhận tiền mã hóa, từ $8.99/tháng. Với Remmina hay xfreerdp, nó chỉ là một máy Windows như bao máy khác.

Câu hỏi thường gặp

Linux có sẵn ứng dụng remote desktop để kết nối Windows không?

Không bản phân phối nào đi kèm ứng dụng của Microsoft; Remmina, GNOME Connections và KRDC đều bọc quanh thư viện mã nguồn mở FreeRDP.
Không có ứng dụng từ Microsoft: Windows App không có bản cho Linux. Thứ mà hầu hết các bản phân phối cung cấp là FreeRDP, một bản triển khai RDP mã nguồn mở, cùng các giao diện đồ họa xây dựng trên nó. GNOME đi kèm Connections, KDE đi kèm KRDC, còn Remmina là lựa chọn dùng được trên mọi môi trường desktop, có lưu hồ sơ và nhiều tùy chọn nhất. Tất cả đều dùng cùng giao thức với ứng dụng của Microsoft, kể cả NLA và các codec GFX hiện đại, nên máy Windows không phân biệt được. Cài đặt bằng apt install remmina remmina-plugin-rdp hoặc lệnh tương đương trên bản phân phối của bạn.

Tôi có thể remote desktop từ Linux vào Windows 11 Home không?

Không, các phiên bản Home không nhận phiên RDP đến, dù bạn dùng ứng dụng khách nào.
Không. Windows 11 Home không có thành phần máy chủ Remote Desktop, nên cả Remmina lẫn xfreerdp đều không kết nối được, và nút bật Remote Desktop trong Settings đơn giản là không có. Bạn có thể nâng cấp PC đó lên Windows 11 Pro, dùng một công cụ chia sẻ màn hình bên thứ ba không dựa trên RDP, hoặc kết nối tới một máy Windows được lưu trữ như Windows VPS, vốn chạy bản Server hoặc Pro với RDP bật sẵn từ đầu và nhận ứng dụng khách Linux mà không cần cấu hình thêm.

Làm sao chép tệp giữa Linux và Windows qua RDP?

Chuyển hướng một thư mục (/drive với xfreerdp hoặc Share folder trong Remmina) và nó sẽ xuất hiện như một ổ đĩa trong phiên Windows.
Hãy dùng chuyển hướng ổ đĩa thay vì clipboard. Với xfreerdp, thêm /drive:share,/home/you/folder và thư mục sẽ xuất hiện trong Windows Explorer dưới This PC như một ổ đĩa được chuyển hướng; trong Remmina, đặt Share folder trong thẻ Basic của hồ sơ. Sau đó việc sao chép hoạt động theo cả hai chiều bằng thao tác kéo thả bình thường trong Explorer, và với tệp lớn thì cách này đáng tin cậy hơn nhiều so với dán qua clipboard. Nếu ổ đĩa không bao giờ xuất hiện, có thể một Group Policy phía Windows đang chặn chuyển hướng ổ đĩa.

Vì sao phiên RDP từ Linux bị chậm, và làm sao tăng tốc?

Độ trễ khứ hồi và lựa chọn codec là yếu tố chính; chọn GFX/H.264 khi đường truyền tốt và màu 16-bit không hình nền khi đường truyền kém.
RDP nhạy với độ trễ hơn là với băng thông thô, nên một máy chủ ở xa luôn có cảm giác giật hơn máy ở gần. Trong giới hạn đó, codec là yếu tố quan trọng nhất: trên đường truyền nhanh, /gfx:AVC444 (hoặc độ sâu màu GFX AVC444 trong Remmina) cho hình ảnh đẹp nhất trên Windows 10, 11 và Server 2016 trở lên. Trên đường truyền chậm hoặc mất gói, hãy hạ xuống /bpp:16, thêm -wallpaper -themes, và để /network:auto tự điều chỉnh phần còn lại. Kết nối có dây phía máy khách loại bỏ nguyên nhân giật lag phổ biến nhất.

Adrien Roche, Biên tập viên hạ tầng & hosting

Kỹ sư hệ thống với hơn 10 năm vận hành các hệ thống Windows Server và Linux. Adrien phụ trách tài liệu hạ tầng của rdp.monster và viết các hướng dẫn về RDP, hosting VPS, quản trị máy chủ, mạng và công cụ bảo vệ quyền riêng tư.

Đăng ký chương trình đại lý của chúng tôi

Thông tin của bạn

Nếu bạn có bất kỳ câu hỏi nào, liên hệ với chúng tôi tại đây !
Họ và tên(Bắt buộc)
Nhập địa chỉ email của bạn, bạn cần có tài khoản trên manager.rdp.monster !

Công ty của bạn

Nhập địa chỉ website của bạn nếu có
Giải thích ngắn gọn cách bạn sẽ bán dịch vụ cho khách hàng. Ví dụ: trò chuyện với mọi người trên các diễn đàn.

Đến quái vật cũng mê cookie!

Chúng tôi sử dụng cookie để cải thiện trải nghiệm duyệt web của bạn, hiển thị quảng cáo hoặc nội dung phù hợp và phân tích lưu lượng truy cập. Khi nhấn "Chấp nhận", bạn đồng ý với việc chúng tôi sử dụng cookie.