−25%

Windows-ის წლიურ გადახდაზე, 31 ოქტომბრამდე. ტარიფებზე

EQVPS
დაწყება

როგორ დავაყენოთ სამუშაო მაგიდა Linux VPS-ზე და დავუკავშირდეთ დისტანციური სამუშაო მაგიდით (XFCE + xrdp)

გრაფიკული სამუშაო მაგიდა Ubuntu 24.04 VPS-ზე, რომელიც ჩვეულებრივი დისტანციური სამუშაო მაგიდის აპით იხსნება: XFCE და xrdp, ორი ნაგულისხმევი პარამეტრი, რომელიც ყველაფერს აფუჭებს (არასწორი სესია, TLS-ის გარეშე), და სქემა, სადაც 3389 პორტი ინტერნეტს საერთოდ არ უყურებს. დისკის ადგილისა და სესიის RAM-ის გაზომვებით.

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

ამ ფაილის გარეშე ჩვენმა პირველმა შესვლამ XFCE-ის ნაცვლად GNOME გაუშვა და სესია მაშინვე დაეცა შეტყობინებით „Oh no! Something has gone wrong“. პირველი ნაბიჯის პაკეტებს 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 TLS-ის ნაცვლად ძველ RDP დაშიფვრას უბრუნდება. მიეცით წვდომა და გადატვირთეთ:

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 RAM დაამატა: დაკავშირებამდე 388 MB იყო დაკავებული, სესიის დროს 747 MB.

დისტანციური სამუშაო მაგიდის ფანჯრის დახურვა სესიიდან არ გაგიყვანთ. ჩვენს ტესტში გრძელი ბრძანება გათიშვის შემდეგაც მუშაობდა. როცა ხელახლა დავუკავშირდით, xrdp-მა იმავე სესიაში დაგვაბრუნა (reconnected session ... display :10 მის ჟურნალში). სესიის ნამდვილად დასასრულებლად XFCE-ის მენიუში გამოიყენეთ Log Out.

რომელი ტარიფი

სამუშაო მაგიდას პროცესორზე მეტად RAM სჭირდება. Micro (2 vCPU, 2 GB, 25 GB, $5/თვე) XFCE-სა და მსუბუქ ინსტრუმენტებს თავისუფლად ატარებს. თუ სესიაში ბრაუზერის მუდმივად ღიად დატოვებას აპირებთ, აიღეთ Small 4 vCPU-ით და 4 GB-ით $8/თვე. ორივე NAT ტარიფია და აქ ეს ხელს არ უშლის: დისტანციური სამუშაო მაგიდა თქვენი SSH პორტით გადის.

თუ სინამდვილეში Windows-ის პროგრამები გჭირდებათ, მათ პირდაპირ Windows VPS გაუშვებს, 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 პორტი ინტერნეტისთვის დახურული რჩება.

რამდენ RAM-ს იყენებს სამუშაო მაგიდა?

ჩვენს სატესტო სერვერზე XFCE-ის ერთმა სესიამ დაახლოებით 360 MB დაამატა: დაკავებული მეხსიერება 388 MB-დან 747 MB-მდე გაიზარდა. 2 GB-იანი Micro ტარიფი საკმარისია სამუშაო მაგიდისა და მსუბუქი ინსტრუმენტებისთვის. თუ სესიაში ბრაუზერი იმუშავებს, 4 GB უფრო კომფორტულია.

ვხედავ შავ ეკრანს ან „Oh no! Something has gone wrong“. რა ხდება?

xrdp-მა XFCE-ის ნაცვლად GNOME გაუშვა. პირველი ნაბიჯის პაკეტებს GNOME-ის სესიების მენეჯერიც მოჰყვება და Ubuntu მას სისტემის ნაგულისხმევად აქცევს. შექმენით ~/.xsession, რომელშიც წერია xfce4-session, იმ მომხმარებლისთვის, ვინც შედის, და ხელახლა დაუკავშირდით.

შემიძლია RDP-ით root-ად შესვლა?

xrdp ამას ნაგულისხმევად უშვებს (AllowRootLogin=true ფაილში /etc/xrdp/sesman.ini), მაგრამ ჯობია sudo-ს მქონე ჩვეულებრივი მომხმარებელი გამოიყენოთ. root-ის დასაბლოკად დააყენეთ AllowRootLogin=false და გადატვირთეთ xrdp.

კომენტარები

ჯერ არ არის კომენტარები. იყავით პირველი.

დატოვეთ კომენტარი

კომენტარები მოდერირდება გამოჩენამდე.