การตั้งค่าการเข้าถึงเดสก์ท็อประยะไกลบนเซิร์ฟเวอร์ Debian ไม่ใช่สิ่งที่ฉันคิดว่าจะทำเมื่อสามปีที่แล้ว ในตอนนั้น SSH ก็เพียงพอแล้วสำหรับทุกสิ่ง แต่การทำงานจากระยะไกลได้เปลี่ยนแปลงสิ่งนั้นไปโดยสิ้นเชิง
XRDP ช่วยให้คุณเข้าถึง GUI ไปยังกล่อง Debian ของคุณได้จากทุกที่ ไม่ว่าคุณจะแก้ไขปัญหาจากที่บ้านหรือต้องแสดงภาพให้เพื่อนร่วมงานเห็น การพยายามอธิบายคำสั่งเทอร์มินัลผ่าน Slack ทำได้ดีกว่า
XRDP คืออะไร และเหตุใดจึงใช้กับ Debian Remote Desktop

XRDP ใช้ Remote Desktop Protocol ของ Microsoft บนระบบ Linux ต่างจาก VNC ซึ่งต้องใช้ซอฟต์แวร์ไคลเอนต์ของตัวเอง RDP ทำงานร่วมกับ Windows Remote Desktop Connection ในตัว
ความต้องการโซลูชันเดสก์ท็อประยะไกลมีเพิ่มขึ้นอย่างรวดเร็ว โดย ตลาดซอฟต์แวร์เดสก์ท็อประยะไกลทั่วโลกคาดว่าจะสูงถึง 11.98 พันล้านดอลลาร์ภายในปี 2575. สิ่งนี้สะท้อนให้เห็นว่าการเข้าถึงระยะไกลเป็นเรื่องปกติเพียงใด
นี่คือเหตุผลว่าทำไมฉันถึงชอบ XRDP มากกว่าทางเลือกอื่น:
- ทำงานร่วมกับไคลเอนต์ RDP ดั้งเดิมของ Windows
- เข้ารหัสการเชื่อมต่อตามค่าเริ่มต้น
- รองรับผู้ใช้หลายรายพร้อมกัน
- ใช้แบนด์วิธน้อยกว่าการใช้งาน VNC ส่วนใหญ่
- จัดการคลิปบอร์ดและการแชร์ไฟล์ได้ดีพอสมควร
เดเบียนทำงานต่อไป 96.3% ของเว็บเซิร์ฟเวอร์ชั้นนำซึ่งครอง 16% ของตลาดเซิร์ฟเวอร์ Linux การใช้งานอย่างแพร่หลายนั้นหมายถึงต้องมีเอกสารมากมายเมื่อเกิดข้อผิดพลาด
ข้อกำหนดของระบบสำหรับเซิร์ฟเวอร์ Debian RDP
คุณจะต้องมีบางสิ่งก่อนเริ่ม:
- เดเบียน 10, 11 หรือ 12
- RAM อย่างน้อย 2GB (เรียนรู้สิ่งนี้เมื่ออินสแตนซ์ 1GB ของฉันยังคงขัดข้อง)
- การเข้าถึงรูทหรือ sudo
- การเชื่อมต่อเครือข่ายสำหรับการดาวน์โหลด
- 2GB free disk space minimum
สำหรับการตั้งค่าระบบคลาวด์ ก เดเบียน VPS ทำงานได้ดี ฉันได้ทดสอบสิ่งนี้กับ DigitalOcean droplets และ Linode โดยไม่มีปัญหา
วิธีอัปเดต Debian ก่อนการติดตั้ง XRDP

อัพเดตก่อนเสมอ ฉันเคยใช้เวลาสองชั่วโมงในการดีบักข้อขัดแย้งของแพ็คเกจซึ่งการอัปเดตแบบธรรมดาจะป้องกันได้
sudo apt update && sudo apt upgrade -y
วิธีนี้จะดึงข้อมูลแพ็คเกจล่าสุดและใช้แพตช์รักษาความปลอดภัย ที่ -y ตั้งค่าสถานะข้ามพร้อมท์การยืนยัน
วิธีติดตั้งสภาพแวดล้อมเดสก์ท็อปสำหรับ XRDP บน Debian

เซิร์ฟเวอร์ Debian ส่วนใหญ่ทำงานแบบไม่มีหัว คุณต้องมีสภาพแวดล้อมเดสก์ท็อปเพื่อให้ XRDP ทำงานได้อย่างถูกต้อง
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils -y
ฉันใช้ Xfce เพราะมันมีน้ำหนักเบาและเสถียรผ่านการเชื่อมต่อระยะไกล GNOME ก็ใช้งานได้เช่นกันแต่ใช้ทรัพยากรมากกว่า ที่ xfce4-สารพัด แพ็คเกจเพิ่มความพิเศษที่มีประโยชน์เช่นเครื่องคิดเลขและโปรแกรมแก้ไขข้อความ
การติดตั้ง XRDP ทีละขั้นตอนบนเซิร์ฟเวอร์ Debian

ติดตั้ง XRDP จากที่เก็บของ Debian:
sudo apt install xrdp -y
ตรวจสอบว่ามันเริ่มต้นอย่างถูกต้องหรือไม่:
sudo systemctl status xrdp
คุณควรเห็น ใช้งานอยู่ (กำลังทำงาน) เป็นสีเขียว หากไม่เป็นเช่นนั้น แสดงว่ามีสิ่งผิดปกติเกิดขึ้นกับการติดตั้ง
วิธีกำหนดการตั้งค่า XRDP และเซสชันผู้ใช้บน Debian

XRDP ต้องการการปรับแต่งเพื่อให้ทำงานได้อย่างราบรื่น การกำหนดค่าเริ่มต้นทำให้เกิดปัญหาที่ฉันพบหลายครั้ง
การกำหนดค่าเซสชันผู้ใช้สำหรับ Debian XRDP
สร้างไฟล์เซสชันสำหรับผู้ใช้แต่ละรายที่ต้องการการเข้าถึง RDP:
echo "xfce4-session" > ~/.xsession
หากไม่มีไฟล์นี้ คุณจะเห็นเดสก์ท็อปว่างเปล่าหลังจากเข้าสู่ระบบ ฉันใช้เวลาคิดเรื่องนี้ไปตลอดตั้งแต่ครั้งแรก
วิธีเพิ่มผู้ใช้ XRDP ไปยังกลุ่ม SSL-Cert
XRDP ต้องการเข้าถึงใบรับรอง SSL เพื่อการเชื่อมต่อที่ปลอดภัย:
sudo adduser xrdp ssl-cert
เริ่มบริการ XRDP ใหม่หลังจากการเปลี่ยนแปลง
เริ่มบริการใหม่เพื่อรับการเปลี่ยนแปลงการกำหนดค่า:
sudo systemctl restart xrdp
วิธีเปิดพอร์ต 3389 สำหรับ RDP บน Debian

RDP ใช้พอร์ต 3389 คุณต้องเปิดสิ่งนี้ในไฟร์วอลล์ของคุณในขณะที่ล็อกทุกอย่างไว้
รักษาความปลอดภัยการเข้าถึง RDP ด้วยไฟร์วอลล์ UFW บน Debian
UFW (ไฟร์วอลล์ที่ไม่ซับซ้อน) นั้นง่ายกว่าสำหรับการตั้งค่าพื้นฐาน:
sudo ufw allow 3389/tcp
เพื่อความปลอดภัยที่ดีขึ้น ให้จำกัดการเข้าถึงที่อยู่ IP ของคุณ:
sudo ufw allow from YOUR_IP_ADDRESS to any port 3389
แทนที่ ของคุณ_IP_ADDRESS ด้วย IP สาธารณะจริงของคุณ
วิธีใช้ nftables สำหรับกฎไฟร์วอลล์ XRDP
หากคุณใช้ nftables แทน UFW:
sudo nft add rule inet filter input tcp dport 3389 ct state new, established counter accept
ฉันชอบ UFW สำหรับสถานการณ์ส่วนใหญ่ แต่ nftables ช่วยให้คุณควบคุมได้ละเอียดยิ่งขึ้นหากคุณต้องการ
วิธีแก้ไข XRDP.ini เพื่อความปลอดภัยและประสิทธิภาพ
การตั้งค่า XRDP เริ่มต้นใช้งานได้สำหรับการเข้าถึงขั้นพื้นฐาน แต่คุณอาจต้องการปรับแต่งการตั้งค่าการเชื่อมต่อหรือพารามิเตอร์ความปลอดภัย
แก้ไขไฟล์การกำหนดค่าหลัก:
sudo nano /etc/xrdp/xrdp.ini
การตั้งค่าหลักที่ต้องพิจารณา:
- security_layer=tls – บังคับให้มีการเข้ารหัส TLS
- crypt_level=สูง – ระดับการเข้ารหัสสูงสุด
- พอร์ต=3389 – เปลี่ยนสิ่งนี้ให้ทำงานบนพอร์ตอื่น
กำลังกำหนดค่า StartWM.sh สำหรับเซสชัน XRDP ที่เสถียร
สคริปต์เริ่มต้นเซสชันจะควบคุมสิ่งที่เกิดขึ้นเมื่อผู้ใช้เชื่อมต่อ:
sudo nano /etc/xrdp/startwm.sh
เพิ่มบรรทัดเหล่านี้ต่อท้ายเพื่อป้องกันปัญหาเซสชันทั่วไป:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
exec startxfce4
ตัวแปรสภาพแวดล้อมเหล่านี้อาจรบกวนการเริ่มต้นเซสชันเดสก์ท็อป ฉันพบปัญหานี้เมื่อพยายามเรียกใช้แอปพลิเคชันที่ต้องการการสื่อสาร D-Bus
กำลังเชื่อมต่อกับเซิร์ฟเวอร์ Debian RDP
เมื่อกำหนดค่าแล้ว การเชื่อมต่อจะทำได้ทันทีจากระบบปฏิบัติการที่แตกต่างกัน
วิธีเชื่อมต่อกับ Debian XRDP จาก Windows
Windows มีไคลเอนต์ RDP เป็นค่าเริ่มต้น:
- ค้นหา "การเชื่อมต่อเดสก์ท็อประยะไกล"
- ป้อนที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ
- คลิกเชื่อมต่อ
- ป้อนชื่อผู้ใช้และรหัสผ่าน Debian ของคุณ
- เลือก “Xorg” เมื่อได้รับพร้อมท์ให้ระบุประเภทเซสชัน
การเชื่อมต่อมักจะเกิดขึ้นภายในไม่กี่วินาทีบนเครือข่ายท้องถิ่น
วิธีเชื่อมต่อกับ Debian XRDP จาก Linux (โดยใช้ Remmina)
ติดตั้ง Remmina ซึ่งจัดการการเชื่อมต่อ RDP ได้ดี:
sudo apt install remmina remmina-plugin-rdp
Remmina มี GUI สำหรับจัดการการเชื่อมต่อระยะไกลหลายรายการ คุณสามารถบันทึกโปรไฟล์การเชื่อมต่อและปรับการตั้งค่าการแสดงผลต่อการเชื่อมต่อได้
แนวทางปฏิบัติที่ดีที่สุดในการรักษาความปลอดภัยเซิร์ฟเวอร์ Debian RDP

RDP มีผลกระทบด้านความปลอดภัยที่สำคัญ อาชญากรไซเบอร์ละเมิด RDP ใน 90% ของการโจมตี ดำเนินการโดยทีมตอบสนองเหตุการณ์
วิธีเปิดใช้งานการเข้ารหัส TLS สำหรับ XRDP บน Debian
สร้างใบรับรองที่ลงนามด้วยตนเองสำหรับการเชื่อมต่อที่เข้ารหัส:
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
ซึ่งจะสร้างใบรับรองที่ถูกต้องเป็นเวลาหนึ่งปี ใช้ใบรับรอง CA ที่เหมาะสมในสภาพแวดล้อมการผลิต
วิธีการตั้งค่า SSH Tunnel สำหรับ RDP บน Debian
เพื่อความปลอดภัยสูงสุด ให้ช่องสัญญาณ RDP ผ่าน SSH:
ssh -L 3389:localhost:3389 user@your-debian-server
จากนั้นเชื่อมต่อกับ โฮสต์ท้องถิ่น:3389 แทนที่จะเป็น IP สาธารณะของเซิร์ฟเวอร์ วิธีนี้จะเข้ารหัสการรับส่งข้อมูล RDP ทั้งหมดผ่านอุโมงค์ SSH
เปลี่ยนพอร์ต XRDP จาก 3389 เป็นพอร์ตแบบกำหนดเอง
เปลี่ยนพอร์ตเริ่มต้นเพื่อลดความพยายามในการโจมตีอัตโนมัติ:
sudo nano /etc/xrdp/xrdp.ini
เปลี่ยน พอร์ต=3389 เพื่อบางสิ่งบางอย่างเช่น พอร์ต=13389จากนั้นรีสตาร์ท XRDP อย่าลืมอัปเดตกฎไฟร์วอลล์ของคุณตามลำดับ
การแก้ไขปัญหา XRDP บน Debian

ปัญหาหลายประการเกิดขึ้นเป็นประจำกับการติดตั้ง XRDP
วิธีแก้ปัญหาความเข้ากันได้ของ Wayland และ XRDP
XRDP ทำงานไม่ถูกต้องกับเซิร์ฟเวอร์แสดงผล Wayland บังคับให้ระบบใช้ Xorg:
sudo nano /etc/gdm3/custom.conf
ยกเลิกการแสดงความคิดเห็นบรรทัดนี้:
WaylandEnable=false
โมเดลความปลอดภัยของ Wayland ขัดแย้งกับวิธีที่ XRDP เข้าถึงระบบแสดงผล สิ่งนี้จะไม่ได้รับการแก้ไขในเร็วๆ นี้
การกำหนดค่าเซสชันผู้ใช้หลายเซสชันใน XRDP
ผู้ใช้แต่ละคนต้องมีการกำหนดค่าเซสชันของตนเอง:
echo "xfce4-session" | sudo tee /home/username/.xsession
sudo chown username: username /home/username/.xsession
แทนที่ ชื่อผู้ใช้ ด้วยชื่อผู้ใช้จริง หากไม่มีเจ้าของที่เหมาะสม ไฟล์เซสชันจะไม่ทำงาน
วิธีปรับความเร็ว XRDP ให้เหมาะสมบนการเชื่อมต่อที่ช้า

การปรับแต่งหลายอย่างช่วยปรับปรุงประสิทธิภาพของ RDP โดยเฉพาะการเชื่อมต่อที่ช้ากว่า:
- ใช้ Xfce แทน GNOME หรือ KDE
- ปิดการใช้งานภาพเคลื่อนไหวและเอฟเฟกต์บนเดสก์ท็อป
- ลดความละเอียดหน้าจอสำหรับเซสชันระยะไกล
- เปิดใช้งานการบีบอัดในไคลเอนต์ RDP ของคุณ
- พิจารณา อูบุนตู VPS or Fedora VPS หาก Debian ไม่ตรงกับความต้องการของคุณ
ประสิทธิภาพที่เพิ่มขึ้นสูงสุดมาจากการเลือกสภาพแวดล้อมเดสก์ท็อปที่มีน้ำหนักเบา GNOME สามารถใช้ RAM ขนาด 500MB+ สำหรับเดสก์ท็อป ในขณะที่ Xfce ใช้ประมาณ 200MB
วิดีโอการตั้งค่า Debian RDP [ติดตั้ง XRDP สำหรับเซิร์ฟเวอร์เดสก์ท็อประยะไกล]
บทสรุป
XRDP แปลงเซิร์ฟเวอร์ Debian ที่ไม่มีส่วนหัวเป็นสิ่งที่คุณสามารถจัดการแบบกราฟิกได้จากทุกที่ กระบวนการตั้งค่ามีนิสัยแปลกๆ แต่เมื่อใช้งานได้แล้วก็ค่อนข้างเชื่อถือได้
สำหรับการปรับใช้การผลิต ให้พิจารณาโซลูชันที่มีการจัดการ เช่น ซื้อ RDP บริการที่จัดการความซับซ้อนให้กับคุณ
อัปเดตระบบของคุณและตรวจสอบบันทึกการเข้าถึงอย่างสม่ำเสมอ หากคุณกำลังเปรียบเทียบการแจกแจง ให้ลองดู เดเบียนกับอูบุนตู เพื่อดูว่าอันไหนที่เหมาะกับความต้องการของคุณมากกว่า