Ubuntu sunuculara uzaktan erişimde genellikle SSH tercih edilir ancak grafik masaüstü gereken durumlarda VNC çok daha kullanışlıdır. VNC sayesinde sunucuya tam masaüstü ortamı üzerinden bağlanmak mümkün olur.
VNC Nedir ve SSH’ten Farkı Nedir?
VNC, uzak bir bilgisayarın masaüstünü internet üzerinden görüntülemeye ve yönetmeye imkân tanır. SSH yalnızca komut satırı bağlantısı sunarken, VNC görsel arayüzle tam kontrol sağlar. Çoğu senaryoda SSH bağlantısı güvenlik için, VNC ise ekran erişimi için birlikte kullanılır.
Neden XFCE Tercih Edilir?
VNC ile kullanılacak masaüstü ortamının hafif ve stabil olması gerekir. XFCE, GNOME ve KDE gibi daha ağır masaüstü ortamlarına kıyasla çok daha düşük sistem kaynağı tükettiği için sunucular üzerinde daha performanslı çalışır.

Ubuntu İçin XFCE Masaüstü Kurulum Adımları
XFCE kurulumuna geçmeden önce sistem güncellemeleri yapılmalıdır. Güncelleme tamamlandıktan sonra masaüstü ortamı ve gerekli bileşenler sisteme yüklenir.
sudo apt update
sudo apt install xfce4 xfce4-goodies -yVNC Erişim Şifresi Oluşturma
VNC oturumuna bağlanırken istemciden bir şifre istenir. Bu şifreyi oluşturmak için bunu kullanalım.
vncpasswdŞifre tanımlandıktan sonra VNC sunucusu erişime açılır. Ancak ekranda siyah görüntü oluşmaması için masaüstü ortamının doğru şekilde başlatılması şarttır.
XFCE İçin VNC Başlangıç Dosyası Yapılandırması
VNC bağlantısı kurulduğunda başlatılacak masaüstü ortamı ~/.vnc/xstartup dosyası üzerinden yönetilir. XFCE’nin düzgün çalışması için bu dosyanın içeriği düzenlenmelidir. İşleme başlamadan önce çalışan VNC oturumları kapatılmalıdır.
vncserver -kill :1Mevcut xstartup dosyasını yedekleyelim
mv ~/.vnc/xstartup ~/.vnc/xstartup.bakYeni dosyayı oluşturalım
nano ~/.vnc/xstartupİçeriğe şunları ekleyelim
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &VNC Sunucusunu Başlatma ve Port Yapısı
Artık VNC sunucusunu başlatabiliriz
vncserverÖrnek bir çıktı şöyle olur
New 'X' desktop is yourhostname:1Bu çıktıdaki :1 ekran numarasıdır. VNC tarafında port hesaplaması şöyle yapılır:
:1→ 5901:2→ 5902:3→ 5903
Yani :1 için VNC portu:
5901İlk kurulumda hızlı test etmek için bu şekilde doğrudan VNC Viewer ile bağlanabilirsiniz.
SSH Üzerinden Şifreli VNC Tüneli Oluşturma
VNC servisinin doğrudan internete açık olması güvenlik açısından önerilmez. SSH tüneli ile bağlantı şifrelenerek VNC yalnızca localhost üzerinden erişilebilir hale getirilir. Aşağıdaki komut ile tünel kurulabilir.
ssh -L 59000:localhost:5901 -C -N -l KULLANICI_ADI SUNUCU_IPVNC asla doğrudan internete açık çalıştırılmamalıdır. Root kullanıcı ile VNC servisi çalıştırmak önerilmez. SSH için mutlaka güçlü parola veya anahtar tabanlı kimlik doğrulama kullanılmalıdır. Fail2ban gibi ek güvenlik önlemleri aktif edilmelidir.
VNC’yi Systemd ile Otomatik Başlatma
Sunucu her yeniden başlatıldığında VNC’yi manuel çalıştırmamak için systemd servisi oluşturulur.
Servis dosyasını oluşturalım
sudo nano /etc/systemd/system/[email protected]İçeriği şu şekilde düzenleyelim
[Unit]
Description=Start VNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/sammy
PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target Systemd’yi yenileyelim
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1Varsa eski oturumu kapatalım.
vncserver -kill :1Servisi başlatalım ve kontrol edelim
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1Sunucu reboot edildiğinde VNC systemd sayesinde otomatik olarak çalışır. Kullanıcı yalnızca SSH bağlantısını kurar, ardından kendi bilgisayarından SSH tünelini açarak VNC istemcisi ile localhost:59000 adresine bağlanır.
Eğer Linux kullanıyorsan, SSH bağlantını kolaylaştırmak için daha önce anlattığımız Linux Kullanıcıları İçin Termius SSH İstemcisi rehberinden istemci tarafını hızlıca kurabilirsin.
Ayrıca sanallaştırma tarafında doğrudan fiziksel erişim yerine yönetim yapıyorsan,
aşağıdaki içeriğimiz üzerinden ESXi tarafında SSH erişimini güvenli şekilde aktif edebilirsin.