Bloğa geri dön

Ubuntu 20.04 üzerinde Virtual Network Computing (VNC) Kurulumu ve Yapılandırılması

Ubuntu 20.04 üzerinde Virtual Network Computing (VNC) Kurulumu ve Yapılandırılması

Sanal Ağ Bilgi İşlem (VNC), grafiksel kullanıcı arayüzlerine uzaktan erişmek için kullanılan bir ekran paylaşım sistemidir. Bir sunucunun (kullanıcı tarafı) başka bir tarafa (istemci) bağlanmasına izin veren uzak çerçeve arabelleği protokolünü kullanır. VNC güvenlidir, emniyetlidir ve tüm işletim sistemlerinde çalışır.

RealVNC, UltraVNC, Xfce, TightVNC, sadece birkaçını saymak gerekirse, günümüzde kullanılan en popüler VNC istemcileridir. Mevcut alternatifler listesinden, dilediğiniz VNC'yi seçmekte özgürsünüz. Bu eğitimde, Ubuntu 20.04 üzerinde VNC kurulumu ve yapılandırması adımlarında size rehberlik edeceğiz. Xfce'i hızı, hafifliği ve mükemmel performansı nedeniyle kuracağız.

Bir Ubuntu sunucusunda VNC sunucusu kurarak ve SSH tüneli üzerinden güvenli bir bağlantı oluşturarak başlayacağız. Son olarak, grafiksel bir masaüstü ortamı aracılığıyla sunucuyla etkileşime girmek için yerel makinemizde bir VNC istemci programı kullanacağız.

Gereksinimler

Bu eğitimi takip etmek için şunlara ihtiyacınız olacak:

Adım 1— Masaüstü Ortamını ve VNC Sunucusunu Kurun

Önceki Ubuntu sürümlerinin aksine, Ubuntu 20.04 önceden kurulmuş bir VNC ile gelmez. İlk adım olarak, resmi Ubuntu deposundan gerekli paketleri kuracağız. Devam etmeden önce, mevcut paketleri güncelleyelim:

Şimdi şu komutu kullanarak Xfce ve xfce4-goodies paketini kuracağız:

Paketiniz kurulurken, Xfce için varsayılan bir ekran yöneticisi seçmenizi isteyen bir ekran göreceksiniz. Mesajı yoksayın veya varsayılan olarak ayarlayın ve ardından tuşuna basın.ENTER.

Ekran yöneticisi, kullanıcıların grafiksel bir arayüz aracılığıyla bir masaüstü ortamında oturum açmasını sağlayan bir programdır. Bu eğitimde, root olmayan bir Ubuntu kullanıcısı olarak oturum açtığımız bir VNC istemcisiyle bağlanırken Xfce kullanacağız. Bu nedenle, ekran yöneticisi seçiminin kurulumumuz üzerinde herhangi bir etkisi olmayacaktır.

Xfce kurulumundan sonra TightVNC sunucusunu kuracağız:

Bir sonraki adımda, bir VNC erişim şifresi ayarlamak ve ilk yapılandırma dosyalarını oluşturmak için vncserver komutunu kullanın. VNC sunucusu örneğini başlatmak için aşağıdakileri yazın:

Bundan sonra, 6-8 karakter uzunluğunda bir şifre belirleyin ve ENTER tuşuna basın. Bir istem mesajı göreceksiniz:

Şifreyi doğruladıktan sonra, yalnızca görüntüleme amaçlı bir şifre oluşturma seçeneği sunulacaktır. Yalnızca görüntüleme şifresini kullanarak oturum açan kullanıcıların VNC'yi fare veya klavye ile kontrol etmesi kısıtlanır. Yine, bu sadece önerilen bir adımdır ve ihtiyacınız varsa etkinleştirebilir, aksi takdirde atlayabilirsiniz.

Gelecekte şifrenizi değiştirmek veya yalnızca görüntüleme amaçlı bir şifre eklemek isterseniz, şu komutu kullanın:

Şu ana kadar, sunucu için tüm varsayılan yapılandırmaları oluşturmuş olacaksınız ve bir ekran bağlantı noktası olan 5901 olarak başlatılacaktır. VNC, :1 gibi diğer ekran bağlantı noktalarında birden fazla örnek başlatabilir; burada :2, :3 ve :4 sırasıyla 5902, 5903 ve 5904 bağlantı noktalarını belirtir:

VNC sunucunuz artık kuruldu ve başarıyla çalışıyor. Bir sonraki adımda, grafik arayüz üzerinden erişim sağlamak için sunucuyu Xfce’yi başlatacak şekilde yapılandıralım.

Adım 2— VNC Sunucusunu Yapılandırma

Home dizini altında, .vnc klasörünü bulacaksınız; bu klasör, startup olarak adlandırılan tüm yapılandırma dosyalarını içerir. Başlangıçta, vncserver içinde Adım-1. Başlangıç betiği, önceki adımda vncserver komutunu çalıştırdığınızda oluşturulmuştu. Ancak şimdi Xfce masaüstünü başlatmak için kendi betiğinizi oluşturacaksınız. VNC yapılandırması değişeceği için Xfce masaüstünü başlatmak üzere kendi sunucumuzu da oluşturmamız gerekecek.

Daha fazla ilerlemeden önce, şu portta çalışan VNC sunucu örneğini durdurmamız gerekiyor: 5901:

Şu çıktıyı göreceksiniz:

Şunun yerine: 17648, farklı bir numara alabilirsiniz ve bu sorun değil. Sırada, xstartup dosyasını düzenleyeceğiz. Herhangi bir dosya değişikliği yapmadan önce orijinal dosyayı yedekleyelim:

Ardından, yeni bir xstartup dosyası oluşturun ve bunu herhangi bir metin düzenleyicide açın. Bu öğreticide, kullanıyoruz:nano:

İşlem tamamlandığında, dosyaya aşağıdaki satırları ekleyin:

VNC sunucusunu her başlattığınızda veya yeniden başlattığınızda, bu komutlar otomatik olarak yürütülür. İlk satır, Shebang satırıdır ve sisteme, yürütülmesi için ~/.vnc/xstartup dosyasının hangi yorumlayıcıya aktarılacağı bilgisini verir. Bir sonraki satır olan xrdb $HOME/. Xresources, VNC’nin GUI çerçevesine sunucu kullanıcısının Xresources dosyasını okumasını söyler. Son olarak, son satır sunucudan Xfce’yi başlatmasını ister. Bu satırları ekledikten sonra dosyayı kaydedip kapatın.

VNC sunucusunun yeni başlangıç dosyasını kullanabilmesi için dosyayı yürütülebilir hale getirmemiz gerekir:

Ardından, VNC sunucusunu yeniden başlatın:

Artık burada eklenmiş -localhost seçeneğine sahip olacaksınız. Localhost, VNC sunucusunu sunucunuzun geri döngü (loopback) arayüzüne bağlayarak yalnızca kurulu sunuculardan gelen bağlantılara izin verir. Sırada, yerel makinemiz ile sunucu arasında bir SSH tüneli kuracağız. Amaç, VNC çevresine ekstra bir güvenlik katmanı eklemektir. Neden mi? Çünkü erişimi olacak kullanıcılar, sunucuya zaten SSH erişimi olan kullanıcılar olacaktır.

Aşağıdaki çıktıyı göreceksiniz:

Yapılandırma ayarlandıktan sonra, yerel makinemizden VNC sunucusuna bağlanmaya hazırız.

Adım 3— VNC Masaüstüne Güvenli Bir Şekilde Bağlanma

Sunucuya bağlanırken VNC güvenli protokoller kullanmaz. Bu nedenle, bir SSH tüneli kurmamız ve VNC istemcisinin kendi başına doğrudan bir bağlantı kurmasına izin vermek yerine tüneli kullanarak bağlantı kurmasını istememiz gerekir.

Yerel bilgisayarımızda, ssh komutunu kullanarak, localhost bağlantısına yönlendiren bir SSH bağlantısı oluşturacağız. Bir SSH bağlantısı oluşturmak için terminaldeki komutu kullanın:

Yukarıdaki kodu çözelim:

  • -L 59000:localhost:5901: -L parametresi, yerel bilgisayardaki belirtilen portun ( 59000) hedef sunucudaki belirtilen ana bilgisayara ve porta ( localhost:5901) gideceğini belirtir. Bu, portunun5901 hedef sunucuda şu şekilde tanımlanacaktır: your_server_ip). Belirttiğiniz yerel port isteğe bağlıdır. Port başka bir hizmete atanmadığı sürece, tüneliniz için yönlendirme portu olarak kullanmakta özgürsünüz.

  • -C: Kaynak tüketimini daha da azaltmaya ve performansı hızlandırmaya yardımcı olan sıkıştırmayı etkinleştirir.

  • -N: Port yönlendirme için kullanışlıdır. Bu, ssh komutunun herhangi bir uzak komut yürütmemesini sağlar.

  • -l cloudsigma your_server_ip: -l parametresi, sunucuya bağlandıktan sonra oturum açmak istediğiniz kullanıcıyı belirtmenize olanak tanır.

Yukarıdaki komut, sunucunuzun güvenlik duvarını yalnızca şu porta bağlantılara izin verecek şekilde açmaktan daha güvenli bir bağlantı kurma yöntemidir: 5901 (herhangi bir yerden). Bağlantıyı kurduktan sonra, SSH tüneli VNC'nizdeki şu porttan gelen içeriği: 5901 varsayılan SSH portu üzerinden yerel makinenizdeki şu porta yönlendirir: 59000 (yerel makinenizde); port 22.

Sunucunuza bağlanmak için PuTTY programını da kullanabilirsiniz. PuTTY'yi açın, PuTTY terminalinin sol tarafına gidin ve bağlanmak için Connection dalını bulun. Ardından, SSH dalını genişletin ve Tunnels seçeneğine tıklayın. Options controlling SSH port forwarding ekranında, bölümüne, 59000 değerini Source Port olarak ve localhost:5901 değerini Destination:

VNC image 1

olarak girin. Tüm seçenekleri değiştirmeden bırakın, tüneli uygulamak için önce Add seçeneğine, ardından Apply seçeneğine tıklayın. Tünel başladıktan sonra, localhost: 59000 adresine bağlanmak için bir VNC istemcisi kullanın. Varsayılan olarak, Step-1 içinde oluşturduğumuz şifreyi kullanarak kimlik doğrulaması yapmanız istenecektir. Bağlandıktan sonra varsayılan Xfce masaüstünü göreceksiniz:

VNC 2

Ev dizinindeki dosyalara erişebilir ve bunları yönetebilirsiniz. Ayrıca, VNC sunucunuzu bir systemd service.

Adım 4— VNC'yi Bir Systemd Hizmeti Olarak Çalıştırma

VNC sunucusunu bir systemd hizmeti olarak çalışacak şekilde ayarlamak, sunucu yönetimini kolaylaştırır. İhtiyaçlarınıza ve kolaylığınıza göre başlatabilir, durdurabilir, yeniden başlatabilir veya sonlandırabilirsiniz. Sunucu her açıldığında, sunucunun AÇIK veya KAPALI.

İlk olarak, hizmetleri yönetirken kullanmak istediğimiz VNC ekran portunu belirtmek için yeni bir birim (unit) dosyası oluşturacağız. Bir birim dosyası tanımlayın:

Dosya adının sonunda, hizmet yapılandırmasını kullanmak için bir argüman iletmenize olanak tanıyan @ sembolünü bulacaksınız.

Ardından, satır grubunu birim dosyasına ekleyin. User, Group, WorkingDirectory, alanlarını ve PIDFILE:

VNC zaten çalışıyorsa, ExecStartPre komutu onu durduracaktır. ExecStart komutu VNC'yi başlatır ve renk derinliğini 1280×800 çözünürlükte 24-bit renk olarak ayarlar. Bu başlangıç seçeneklerini ihtiyacınıza göre düzenleyebilirsiniz. Ayrıca, ExecStart komutunun yine -localhost seçeneğini içerdiğini unutmayın. İşlem bittiğinde, birim dosyasını kaydedip kapatın.

Ardından, yeni birim dosyasını sisteminize tanıtın:

Birim dosyasını AÇIK konumuna getirin (etkinleştirin):

The 1 (ardından gelen: @ işareti, servisin hangi ekran numarası üzerinde görünmesi gerektiğini belirtir. Bizim durumumuzda, bu varsayılan :1 'de tartışıldığı gibi Adım-2. VNC hala çalışıyorsa, VNC sunucusunun mevcut örneğini kill komutunu kullanarak durdurabilirsiniz:

Ardından, diğer herhangi bir systemd servisini başlatır gibi başlatın:

Bu komutla başladığını doğrulayabilirsiniz:

Çıktıyı göreceksiniz:

VNC sunucunuz artık sunucunuz her açıldığında kullanılmaya hazırdır ve onu diğer herhangi bir systemd servisi gibi systemctl komutlarıyla yönetebilirsiniz. Ancak, istemci tarafında herhangi bir fark görmezsiniz. Yeniden bağlanmak için SSH tünelinizi şununla başlatın:

VNC istemcinizi kullanarak sunucunuzla localhost:59000 üzerinden yeniden bağlantı kurabilirsiniz.

Sonuç

Başlangıçta, bir VNC sunucusu kurmak, özellikle yeni bir bilgisayarla bağlantı kurmaya çalışırken zorlayıcı görünebilir. Güvenilir bir bağlantı kurduğunuzda, uzak bir bilgisayarla çalışmak eğlenceli ve heyecan verici olacaktır. Ubuntu 20.04 sunucunuzda çalışan güvenli bir VNC sunucusu ile kaynaklarınızı, dosyalarınızı, yazılımlarınızı ve ayarlarınızı kullanıcı dostu bir grafik arayüzle kolayca yönetebilirsiniz. Aşırı bant genişliği kullanımı, VNC kullanmanın belki de tek dezavantajıdır. Daha hızlı bir aktarım için düşük çözünürlüklü ve gri tonlamalı ekranlar kullanarak bunun üstesinden gelebilirsiniz.

Keyifli Bilişimler!

author

Shreyas Patil

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.