Sezer Yesiltas
18 Ağustos 2007
 

Uzak Makinalar
Zaman zaman iş veya hobi amaçlı kimi zaman sadece meraktan uzak makinalara erişim ihtiyacı duyarız. Uzaktan erişimin atası telnet protokolü denebilir, telnet son yıllarda yerini daha güvenli olan açık ssh protokolüne bırakmıştır, bu yöntemle uzak makinaları komut satırından komutlar vererek yönetmek mümkündür. Bu protokolleri destekleyen sunucu ve istemci programları sayesinde erişimi sağlayabiliriz. Uzak makinada sunucu servisi, kendi makinamızda istemci programı çalışıyor olmalıdır. Bu programlardan açık kaynak kodlu bir çok alternatif bulmak mümkün, zaten blogumda fırsat buldukça bunları tanıtıyorum. Bugün de bir tanesini tanıtacağım ancak önce bir diğer uzaktan erişim şekli olan "uzaktan masaüstünü kontrol etme" yönteminden bahsetmek istiyorum yani ağ veya internet üzerinden bilgisayarı uzaktan kullanmayı.

Uzak Masaüstü Erişimi ve VNC

En konforlu uzak makinaya erişim yöntemi denebilir, yüksek ağ trafiği gerektirdiği için yerel ağlarda tercih edilir ancak internet hızındaki artış, internet üzerinden de masaüstü erişimini mümkün kılmaktadır. Uzak masaüstü erişiminde "açık RFB" protokolü kullanan VNC yazılımları bu amaca yönelik bir standart haline gelmiştir. Çalışma mantığı oldukça basittir, uzak makinaya kurulan VNC sunucusu, tüm masaüstü ve pencere görüntülerini, görüntü akışı şeklinde bize gönderir, bizim makinamızda bulunan VNC istemcisi (VNC viewer da denir) bir video oynatıcısı gibi çalışarak bu görüntüleri bize gösterir, tıpkı youtube'tan video seyreder gibi, VNC istemcisi fare ve klavye ile yaptığımız hareketleri sunucuya gönderir, sunucu da bu işlemleri üzerinde çalıştığı makinada gerçekleştirir.

RFB protokolünü geliştiren ve uygulayan RealVNC şirketi ücretli ve ücretsiz sunucu ve istemci yazılımları sunmaktadır. Hem Windows hem de Linux/Unix üzerinde çalışan açık kaynak kodlu VNC yazılımları da mevcuttur (TightVNC, UltraVNC, TurboVNC vb.). Bu yazılımlarla bir Windows makinadan bir Unix server'ı ya da bir Linux dağıtımından bir Windows makinayı kullanmak mümkün olabilmektedir. Tüm VNC yazılımları ortak bir protokol kullandığı için birbiriyle uyumlu çalışabilmektedir sadece RFB protokolü de sürekli gelişim içinde olduğu için aynı RFB sürümüne göre haberleşmeleri gerekir.

Diğer Uzak Masaüstü Erişim Yöntemleri

VNC dışında da uzak masaüstü erişimi sağlayan sitemler vardır mesela Microsoft Windows bunu kendi Remote Desktop yazılımı ile gerçekleştirir. Yerel ağlarda çok sorun yaşanmamakla birlikte Internet üzerinden uzak bağlantılarda bir çok karmaşık ayar yapmak gerekir: firewall ayarı, port yönlendirme veya virtual host tanımlama gibi. Bütün bu ayarlardan sizi kurtarıp, tarayıcınızla Internet üzerinde gezebiliyorsanız, başka bir ayar yapmanıza gerek olmadan uzak masaüstü bağlantı yapabileceğiniz sistemler de vardır, bu sistemler genelde sizinle uzak makina arasında kendi serverlarını kullanarak iletişim kurmanızı sağlar (GoToMyPC, TeamViewer vb.).

X Pencere Sunucuları (X Server)

Linux/Unix işletim sistemlerinde uygulamaların grafik arayüzleri (GUI), işletim sistemi üzerinde bulunan pencere sunucuları tarafından görüntülenir. Çalışma şeklini, klavye ve fare hareketlerini VNC sunucusuna ileten bir VNC istemcisine benzetebiliriz, yani aynı makinada hem görüntü istemcisi hem de sunucusu olduğunu farz edebiliriz. 1984'te kurulan bu sisteme X Window System adı verilmiştir, daha sonra X11 adını almıştır. Açık bir protokoldur ve MIT lisansına sahiptir. Uygulama ile onun grafik arayüzünü böyle bir mimari ile ayırmanın çok önemli getirileri olmuştur, açık dünya toplulukları protokolleri belirleyip Dünya ile paylaşarak, bu protokolleri kullanan bir çok özgür yazılımın ortaya çıkmasını sağlamış, sürekli gelişen, çok alternatifli ve özgür bir platform oluşmasına ön ayak olmuştur. X Window System'in en önemli özelliği X server'ı yerel ağ veya internet üzerinde herhangi bir makinada tanımlayabiliyor olmanızdır yani çalışan herhangi bir uygulamanın grafik arayüzünü bir başka makinaya göndermesini sağlayabiliyorsunuz. Uzak masaüstüne erişim sistemi gibi bir yapı UNIX tabanlı sistemlerde temel özellik olarak X11 sayesinde 1984'ten beri vardır.
Bir Unix/Linux uzak makinasını grafik arayüzüyle birlikte nasıl yönetebilirim? Yukarıda bahsettiğim VNC ve diğer uzak masaüstü erişim yöntemleri ile bunu yapmak mümkündür ama hemen iki adet handikap göze çarpıyor:
  • Bir uzak makina aynı anda bir kişi tarafından yönetilebilir/kullanılabilir.
  • Yüksek bir ağ trafiğine neden olur.
Oysa telnet veya ssh ile bağlandığınız bir uzak makinaya "senin X Sunucun benim makinamdır" diyebilirseniz, telnet/ssh ile komut satırından çalıştırdığınız programın grafik arayüzü sizin makinanızda oluşacaktır hem de yukarıda bahsettiğim her iki handikapın da önüne geçerek...

Eğer siz de bir Linux/Unix makina kullanıyorsanız, Bu zaten bir X sunucusuna sahipsiniz anlamına gelir, aşağıdaki komutlarla uzak makinanın grafik arayüzlerini kenndi makinanıza yönlendirebilirsiniz.
SSH ile bağlandıysanız:
  • Öncelikle ssh bağlantısını şu komutla kurmalısınız, örnekteki IP: uzak makinanın IP'sidir. username: uzak makinada var olan bir kullanıcıdır.
ssh -l username -X -C 192.168.1.2
  • Bundan sonraki adımlar telnet adımları ile aynıdır.

Telnet ile bağlandıysanız:
  • Uzak makinada DISPLAY değişkenini kendi IP'niz olarak belirtmelisiniz sonuna 0.0 eklemeyi unutmayın.
export DISPLAY=192.168.1.3:0.0
  • X sunucunuza uzak makinanın size grafik arayüzü göndermesine izin vermelisiniz, bunun için kendi makinanızda aşağıdaki komutu vermelisiniz, örnekteki IP uzak makinanın IP'sidir.
xhost + 192.168.1.2

Eğer bir Windows makina kullanıyorsanız, Bu sizin bir X sunucusuna sahip olmadığınız anlamına gelir ama hemen açık kaynak kodlu bir X sunucusu kurabilirsiniz mesela XMing
  • Xming' i kurduktan sonra komut satırında şu komutu girerek X sunucunuzu çalıştırabilirsiniz:
"C:Program FilesXmingXming.exe" :0 -clipboard -multiwindow -ac
Tabi kurulumu siz de benimle aynı yere yaptıysanız bu komutu kullanmalısınız. Bu komutu kullanarak bir kısa yol tanımlamak sizin için daha kolay olacaktır.
  • Şimdi telnet veya ssh ile uzak makinaya bağlantı kurarak DISPLAY değişkenini kendi IP'niz olarak belirtmelisiniz sonuna 0.0 eklemeyi unutmayın.
export DISPLAY=192.168.1.3:0.0

Artık uzak makinada herhangi bir uygulama çalıştırıp görüntünün gelmesini bekleyebilirsiniz. Bu işlemi çok fazla sorun yaşamadan yerel ağlarda gerçekleştirebilirsiniz ancak internet üzerinden bir uzak makinaya ulaşmak istiyorsanız kendi makinanıza port yönlendirme yapmalısınız dışarıdan 6000 portuna gelecek istekleri kendi makinanızın 6000 portuna yönlendirmeniz gerekir. Uzak makinada DISPLAY değişkenini tanımlarken 0.0 yerine 0.1 kullandıysanız iletişim 6001 portundan başlayacaktır dolayısıyla 6001 portunu yönlendirmeniz gerekir, 0.2 için 6002 ... ya da kendi makinanızı DMZ olarak tanımlarsanız dışarıdan gelecek tüm istekler direk sizin makinanıza iletilir.
Eğer uzak makinadaki bir uygulamaya Windows'tan tek tıklama ile ulaşmak istiyorsanız Xming bunu da sağlayabiliyor, ihtiyacınıza göre aşağıdaki komutlardan birini kullanabilirsiniz.
  • Telnet ile erişebildiğiniz bir uzak makina ise
"C:Program FilesXming\plink.exe" -X kullanici@192.168.1.2 mozilla
  • SSH protokolü ile erişmek istiyorsanız
"C:Program FilesXming\plink.exe" -ssh -X kullanici@192.168.1.2 konqueror
  • Eğer şifre girmek istemiyorsanız:
"C:Program FilesXming\plink.exe" -ssh -X -pw sifre kullanici@192.168.1.2 ksnake



Yukarıdaki örneklerde mozilla, konqueror ve ksnake uygulmalarını çalıştırdık, hepsi ayrı birer pencerede kendi makinamızda açıldılar, eğer uzak makinanız Linux ise ve masaüstünü kullanmak istiyorsanız
  • KDE masaüstü için startkde komutunu
  • Gnome masaüstü için gnome-session komutunu çalıştırmalısınız.















Etiketler: , , , , , , ,

 
Yorumlar:
Pekii ya bilgisayarımızı cep telefonundan erişip yönetmek istiyorsak o zaman ne yapacaz?Masaüstünü yöneteceğiz, öyle download programını falan değil.
 
Yorum Gönder

Kaydol: Kayıt Yorumları [Atom]





<< Ana Sayfa

Pardus... Özgürlük İçin...

Yeni yazılardan RSS ile haberdar olun
Yeni yazılardan Email ile haberdar olun
<$Kullandığım veya araştırdığım Windows, Linux veya Cep Telefonu yazılımların tanıtımını, ilgimi çeken web siteleri ve hizmetlerini ve bazı ufak tefek temel bilgileri vakit buldukça burada paylaşacağım.r /> 'Burada yer alan web sitesi,kurum,kuruluş veya yazılımlarla ilgili herhangi bir ticari ilişkim bulunmadğı gibi tüm yorumlar tamamen kişiseldir ve şahsi deneyimlere dayalıdır. Tanıtım yapılan yazılım ve hizmetler, üretici kuruluşa (ve yazdıklarımdan dolayı bana) herhangi bir sorumluluk yüklemez.'



<$
Fotoğrafım
Ad:
Konum: Istanbul, Türkiye