לשרת 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.
תגובות
אין עדיין תגובות. היו הראשונים.