−25%

yıllık Windows ödemesinde, 31 Ekim'e kadar. Paketlere git

EQVPS
Hemen başla

Linux VPS'e masaüstü kurma ve Uzak Masaüstü ile bağlanma (XFCE + xrdp)

Ubuntu 24.04 VPS'e sıradan Uzak Masaüstü uygulamasıyla açılan grafik bir masaüstü: XFCE ve xrdp, işi bozan iki varsayılan ayar (yanlış oturum, TLS yok) ve 3389 portunun hiç internete bakmadığı bir kurulum. Disk alanı ve oturum başına RAM ölçümleriyle.

Bir Linux sunucusunun ekranı yoktur ve çoğu zaman gerekmez de. Bazen gerekir: sunucunun kendi adresinden çalışması gereken bir tarayıcı, yalnızca grafik arayüzü olan bir araç ya da açık bırakıp herhangi bir bilgisayardan geri dönebileceğiniz bir masaüstü. Bu rehber Ubuntu 24.04'e hafif XFCE masaüstünü ve xrdp'yi ekler; böylece onu bir Windows sunucusu için kullandığınız aynı Uzak Masaüstü uygulamasıyla açabilirsiniz.

Her adımı Ubuntu 24.04 imajımızda test ettik. İki varsayılan ayar ilk denemeyi bozdu, aşağıda ikisini de düzeltiyoruz. sudo yetkili normal bir kullanıcıya ihtiyacınız var; Ubuntu kurulum rehberi bir tane oluşturur. Örneklerde adı deploy.

1. XFCE ve xrdp'yi kurun

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

2 GB'lık sunucumuzda bu yaklaşık dört buçuk dakika sürdü ve 1,7 GB disk kullandı (öncesinde 2,7 GB, sonrasında 4,4 GB dolu). xrdp 0.9.24 kurulur, hemen başlar ve 3389 portunu dinler.

2. xrdp GNOME'u değil XFCE'yi başlatsın

Masaüstünü kullanacak kullanıcıyla giriş yapın ve şunu çalıştırın:

echo xfce4-session > ~/.xsession

Bu dosya olmadan ilk girişimiz XFCE yerine GNOME'u başlattı ve oturum hemen "Oh no! Something has gone wrong" ile çöktü. 1. adımdaki paketler GNOME'un oturum yöneticisini de getirir ve Ubuntu onu varsayılan yapar. ~/.xsession yerindeyken xrdp XFCE'yi başlatır.

3. xrdp TLS kullansın

xrdp kendi xrdp kullanıcısıyla çalışır ve bu kullanıcı sunucunun özel anahtarını okuyamaz. İlk bağlantımız çalıştı, ama /var/log/xrdp.log neden ona güvenmemek gerektiğini gösterdi:

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

Anahtar olmadan xrdp, TLS yerine eski RDP şifrelemesine geri döner. Erişim verin ve yeniden başlatın:

sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp

Sonraki bağlantı günlüğümüzde TLS connection established ... TLSv1.3 olarak göründü. Kendinizinkini de aynı şekilde kontrol edebilirsiniz:

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

4. 3389 portunu internetten uzak tutun

Kurulduktan sonra xrdp her adresi dinler. Windows'un aksine xrdp'de Network Level Authentication yoktur; porta ulaşabilen herkes parola denemek için bir giriş ekranı alır. Yalnızca sunucunun kendisinde dinlemesini sağlayın:

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

Son satır 127.0.0.1:3389 göstermeli. Testimizde bundan sonra sunucunun adresine 3389'dan doğrudan bağlantı reddedildi, bir sonraki adımdaki tünel ise çalışmaya devam etti.

5. SSH üzerinden bağlanın

Kendi bilgisayarınızda bir tünel açın. Windows'ta PowerShell aynı ssh komutuna sahiptir:

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

NAT paketinde -p ve paneldeki kişisel SSH portunu ekleyin. O pencereyi açık bırakın. Ardından Uzak Masaüstü uygulamanızı localhost:13389 adresine yönlendirin ve deploy olarak o kullanıcının parolasıyla giriş yapın:

  • Windows: Uzak Masaüstü Bağlantısı (mstsc).
  • macOS: App Store'daki Windows App.
  • Linux: Remmina ya da xfreerdp /v:localhost:13389 /u:deploy.

Yerel port 3389 değil 13389, çünkü 3389 bilgisayarınızda zaten kendi Uzak Masaüstü tarafından kullanılıyor olabilir. İlk seferde uygulama tanımadığı bir sertifika için uyarır. Bu, sunucunun kendinden imzalı sertifikasıdır ve bağlantı zaten SSH içinde şifrelidir.

6. Ne elde edersiniz

Panel, dosya yöneticisi ve terminal içeren bir XFCE masaüstü elde edersiniz. Sunucumuzda bir oturum yaklaşık 360 MB RAM ekledi: bağlanmadan önce 388 MB, oturum sırasında 747 MB kullanıldı.

Uzak Masaüstü penceresini kapatmak oturumu kapatmaz. Testimizde bağlantıyı kestikten sonra uzun bir komut çalışmaya devam etti. Yeniden bağlandığımızda xrdp bizi aynı oturuma geri koydu (günlüğünde reconnected session ... display :10). Oturumu gerçekten bitirmek için XFCE menüsündeki Log Out'u kullanın.

Hangi paket

Masaüstü işlemciden çok RAM ister. Micro (2 vCPU, 2 GB, 25 GB, ayda $5) XFCE'yi ve hafif araçları rahatça çalıştırır. Oturumda sürekli açık bir web tarayıcısı tutacaksanız ayda $8'a 4 vCPU ve 4 GB sunan Small'u alın. İkisi de NAT paketidir ve burada sorun olmaz: Uzak Masaüstü SSH portunuzdan geçer.

Aslında Windows yazılımına ihtiyacınız varsa bir Windows VPS onu doğrudan çalıştırır; Windows-Small ayda $11'dan başlar. Ubuntu 24.04, Ubuntu VPS sayfasında ve VPS bölümündeki tüm Linux paketlerinde mevcut. Ödeme Base, Ethereum veya Polygon ağlarında USDT, USDC veya ETH ile yapılır.

SSS

Windows'un normal Uzak Masaüstü uygulamasıyla bağlanabilir miyim?

Evet. xrdp RDP protokolünü konuşur, bu yüzden Windows'taki yerleşik Uzak Masaüstü Bağlantısı, macOS'taki Windows App ve Linux'taki Remmina ya da xfreerdp çalışır. Sunucunun adresine değil, SSH tüneli üzerinden localhost'a bağlanırsınız.

NAT paketinde çalışır mı?

Evet. RDP bağlantısı SSH'nin içinden geçer ve SSH, NAT paketinin sunucunuza yönlendirdiği tek porttur. Bu rehber bu kurulumu zaten her pakette önerir, çünkü 3389 portu internete kapalı kalır.

Masaüstü ne kadar RAM kullanır?

Test sunucumuzda bir XFCE oturumu yaklaşık 360 MB ekledi: kullanılan bellek 388 MB'tan 747 MB'a çıktı. 2 GB'lık Micro paketi masaüstü ve hafif araçlar için yeterli. Oturumda bir web tarayıcısı çalıştıracaksanız 4 GB daha rahat olur.

Siyah ekran ya da "Oh no! Something has gone wrong" görüyorum. Sorun ne?

xrdp, XFCE yerine GNOME'u başlattı. 1. adımdaki paketler GNOME'un oturum yöneticisini de getirir ve Ubuntu onu sistem varsayılanı yapar. Giriş yapan kullanıcı için içinde xfce4-session yazan ~/.xsession dosyasını oluşturun ve yeniden bağlanın.

RDP ile root olarak giriş yapabilir miyim?

xrdp buna varsayılan olarak izin verir (/etc/xrdp/sesman.ini içinde AllowRootLogin=true), ama bunun yerine sudo yetkili normal bir kullanıcı kullanın. root'u engellemek için AllowRootLogin=false yapın ve xrdp'yi yeniden başlatın.

Yorumlar

Henüz yorum yok. İlk olun.

Bir yorum bırakın

Yorumlar görünmeden önce denetlenir.