Bir SSH server arkasındaki bilgisayarların istenilen portuna bağlanmak

Uzun süredir şirketlerde internet üzerinden ssh ile bağlanabileceğimiz linux makineler mevcut. Ancak şirketteki diğer makinelere bağlanmak için önce bu makineye bağlanıp, sonra diğer makinelere SSH yapıyoruz. Tabii bu SSH yapmak için çoğu durumda yeterli bir sistem. Ama ya SSH server arkasındaki herhangi bir işletim sistemine sahip bir makine üzerindeki bir servise bağlanmak istersek? Örnek servisler:

  • VNC server
  • http server

Tek yapmamız gereken şey, internet üzerinde şirketteki servera bir SSH bağlantısı yapmak… Bunu yaparken de, şirket içinde hangi bilgisayarın, hangi portunu SSH üzerinden tünel ile taşıyacağımızı belirtmek. Kulağa karışık geliyor, ancak aslında çok basitçe tek satırda hallolan çok basit bir işlem.

ssh -L 3000:10.0.0.12:80 root@myserver.company.com

Burada yazdığımız satır şu demek: -L ile şirketimizdeki local networkte hangi bilgisayarın hangi portunu nereye yönlendirmek istediğimizi yazıyoruz. Örnekteki 3000, kendi laptopumuzun portu. 80 ise, şirkette çalışan 10.0.0.12 IP adresine sahip bir bilgisayarın http servisi, root@myserver.company.com ise, hangi kullanıcı ile şirketimizdeki internet bağlantısı sağlayan servera bağlanacağımızı belirtiyor. Bu satırı yazdıktan sonra, kullanıcı şifresini yazarak login oluyoruz. Sonra da internete bağlandığımız laptop’tan http://localhost:3000 yazdığımız zamansa, aslında şirkette duran 10.0.0.12 adresli bilgisayarın 80 nolu portunda çalışan http servisine bağlanmış oluyoruz. Tabii bu işlem ne kadar güvenli? SSH kadar güvenli. Arada taşınan tüm veri SSH ile encrypted şekilde taşınıyor. Araya girip ISP’miz üzerinden veri transferi dinlenilse de, aslında taşınılan verinin çözülmesi oldukça zor.

Bu arada, bu yöntemi MacOSX 10.6 ile test ettim. Karşıdaki server is rhel6 idi. Aynı işlemin Putty ile, windows bir makine ile de yapılması mümkün. Sadece tunnelin ayarlarını putty ile yapmak lazım.

Bir de RDP (Windows Remote Desktop) bağlantısı yapmak mantıklı oluyor. Onun için de yönlendirilmesi gereken RDP portu 3389

ssh -L 3389:10.0.0.120:3389 -fNC root@myserver.company.com

MacOSX 10.6 makineden CoRD kullanarak çok kolaylıkla bu tünelin çalıştığını test ettim. Bu yazılım çok iyi bir RDP clientı: http://cord.sourceforge.net/

Yorum bırakın