−25%

על Windows בתשלום שנתי, עד 31.10. לחבילות

EQVPS
התחלה

איך להתקין שולחן עבודה על VPS עם Linux ולהתחבר בשולחן עבודה מרוחק (XFCE + xrdp)

שולחן עבודה גרפי על VPS עם Ubuntu 24.04 שנפתח באפליקציית שולחן העבודה המרוחק הרגילה: XFCE ו-xrdp, שתי ברירות המחדל שמקלקלות הכול (סשן שגוי, בלי TLS), ומבנה שבו פורט 3389 אף פעם לא פונה לאינטרנט. עם מדידות של נפח דיסק וזיכרון לכל סשן.

לשרת Linux אין מסך, ורוב הזמן הוא גם לא צריך כזה. לפעמים כן: דפדפן שחייב לרוץ מהכתובת של השרת עצמו, כלי שיש לו רק ממשק גרפי, או שולחן עבודה שאפשר להשאיר פועל ולחזור אליו מכל מחשב. המדריך הזה מוסיף ל-Ubuntu 24.04 את שולחן העבודה הקל XFCE ואת xrdp, כדי שתפתחו אותו באותה אפליקציית שולחן עבודה מרוחק שהייתם משתמשים בה מול שרת Windows.

בדקנו כל שלב באימג' ה-Ubuntu 24.04 שלנו. שתי ברירות מחדל הכשילו את הניסיון הראשון, ולמטה אנחנו מתקנים את שתיהן. תצטרכו משתמש רגיל עם sudo; מדריך ההגדרה של Ubuntu יוצר אחד. בדוגמאות קוראים לו deploy.

1. התקינו XFCE ו-xrdp

sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp

בשרת שלנו עם 2 GB זה לקח כארבע וחצי דקות ותפס 1.7 GB בדיסק (לפני כן היו בשימוש 2.7 GB, אחרי 4.4 GB). מותקן xrdp 0.9.24, שעולה מייד ומאזין בפורט 3389.

2. גרמו ל-xrdp להפעיל XFCE ולא GNOME

התחברו כמשתמש שישתמש בשולחן העבודה והריצו:

echo xfce4-session > ~/.xsession

בלי הקובץ הזה הכניסה הראשונה שלנו הפעילה GNOME במקום XFCE, והסשן קרס מייד עם "Oh no! Something has gone wrong". החבילות משלב 1 מביאות איתן גם את מנהל הסשנים של GNOME, ו-Ubuntu קובע אותו כברירת מחדל. כש-~/.xsession במקום, xrdp מפעיל את XFCE.

3. תנו ל-xrdp להשתמש ב-TLS

xrdp רץ כמשתמש משלו, xrdp, והמשתמש הזה לא יכול לקרוא את המפתח הפרטי של השרת. החיבור הראשון שלנו עבד, אבל /var/log/xrdp.log הראה למה אסור לסמוך עליו:

Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1

בלי המפתח, xrdp חוזר להצפנת ה-RDP הישנה במקום TLS. תנו לו גישה והפעילו מחדש:

sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp

החיבור הבא הופיע ביומן שלנו כ-TLS connection established ... TLSv1.3. אפשר לבדוק את השרת שלכם באותה דרך:

sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2

4. הרחיקו את פורט 3389 מהאינטרנט

אחרי ההתקנה xrdp מאזין בכל הכתובות. בניגוד ל-Windows, ל-xrdp אין Network Level Authentication, כך שכל מי שמגיע לפורט מקבל מסך כניסה לנחש בו סיסמאות. גרמו לו להאזין רק על השרת עצמו:

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

השורה האחרונה צריכה להציג 127.0.0.1:3389. בבדיקה שלנו חיבור ישיר לכתובת השרת בפורט 3389 נדחה מאז, והמנהרה מהשלב הבא המשיכה לעבוד.

5. התחברו דרך SSH

פתחו מנהרה במחשב שלכם. ב-Windows יש את אותה פקודת ssh ב-PowerShell:

ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP

בחבילת NAT הוסיפו -p ואת פורט ה-SSH האישי מלוח הבקרה. השאירו את החלון פתוח. אחר כך כוונו את אפליקציית שולחן העבודה המרוחק אל localhost:13389 והתחברו כ-deploy עם הסיסמה של המשתמש הזה:

  • Windows: חיבור לשולחן עבודה מרוחק (mstsc).
  • macOS: Windows App מה-App Store.
  • Linux: Remmina, או xfreerdp /v:localhost:13389 /u:deploy.

הפורט המקומי הוא 13389 ולא 3389, כי ייתכן ש-3389 במחשב שלכם כבר תפוס על ידי שולחן העבודה המרוחק שלו עצמו. בפעם הראשונה האפליקציה מזהירה מפני תעודה שהיא לא מכירה. זו התעודה בחתימה עצמית של השרת, והחיבור ממילא מוצפן בתוך SSH.

6. מה מקבלים

מקבלים שולחן עבודה XFCE עם פאנל, מנהל קבצים וטרמינל. בשרת שלנו סשן אחד הוסיף כ-360 MB זיכרון: 388 MB בשימוש לפני החיבור ו-747 MB במהלך הסשן.

סגירת חלון שולחן העבודה המרוחק לא מוציאה אתכם מהסשן. בבדיקה שלנו פקודה ארוכה המשיכה לרוץ אחרי שהתנתקנו. כשהתחברנו שוב, xrdp החזיר אותנו לאותו סשן (reconnected session ... display :10 ביומן שלו). כדי לסיים את הסשן באמת, השתמשו ב-Log Out בתפריט של XFCE.

איזו חבילה

שולחן העבודה צריך זיכרון יותר ממעבד. Micro (2 vCPU, 2 GB, 25 GB, $5 לחודש) מריץ את XFCE וכלים קלים בנוחות. אם תשאירו דפדפן פתוח בסשן, קחו את Small עם 4 vCPU ו-4 GB ב-$8 לחודש. שתיהן חבילות NAT, וכאן זה לא מפריע: שולחן העבודה המרוחק עובר דרך פורט ה-SSH שלכם.

אם מה שאתם באמת צריכים זו תוכנה ל-Windows, VPS עם Windows מריץ אותה ישירות, ו-Windows-Small מתחילה ב-$11 לחודש. Ubuntu 24.04 נמצא בדף Ubuntu VPS ובכל חבילות ה-Linux במדור VPS. התשלום ב-USDT, USDC או ETH ברשתות Base, Ethereum או Polygon.

שאלות נפוצות

אפשר להתחבר עם אפליקציית שולחן העבודה המרוחק הרגילה של Windows?

כן. xrdp מדבר בפרוטוקול RDP, ולכן עובדים החיבור לשולחן עבודה מרוחק המובנה ב-Windows, Windows App ב-macOS ו-Remmina או xfreerdp ב-Linux. מתחברים ל-localhost דרך מנהרת SSH ולא לכתובת השרת.

זה עובד בחבילת NAT?

כן. חיבור ה-RDP עובר בתוך SSH, ו-SSH הוא בדיוק הפורט היחיד שחבילת NAT מעבירה לשרת שלכם. זה המבנה שהמדריך ממליץ עליו בכל חבילה, כי פורט 3389 נשאר סגור לאינטרנט.

כמה זיכרון שולחן העבודה צורך?

בשרת הבדיקה שלנו סשן XFCE אחד הוסיף כ-360 MB: הזיכרון בשימוש עלה מ-388 MB ל-747 MB. חבילת Micro עם 2 GB מספיקה לשולחן העבודה ולכלים קלים. אם תריצו דפדפן בסשן, 4 GB נוחים יותר.

אני רואה מסך שחור או "Oh no! Something has gone wrong". מה הבעיה?

xrdp הפעיל את GNOME במקום XFCE. החבילות משלב 1 מביאות איתן גם את מנהל הסשנים של GNOME, ו-Ubuntu קובע אותו כברירת המחדל של המערכת. צרו ~/.xsession עם התוכן xfce4-session עבור המשתמש שמתחבר, והתחברו שוב.

אפשר להתחבר ב-RDP כ-root?

xrdp מתיר זאת כברירת מחדל (AllowRootLogin=true בקובץ /etc/xrdp/sesman.ini), אבל עדיף להשתמש במשתמש רגיל עם sudo. כדי לחסום את root, הגדירו AllowRootLogin=false והפעילו מחדש את xrdp.

תגובות

אין עדיין תגובות. היו הראשונים.

השאירו תגובה

התגובות עוברות מודרציה לפני שהן מופיעות.