ssh tunneling
-
ssh ile erisilen bir sunucunun arkasindaki kaynaklara ulasmak icin kullanabilirsiniz. ozellikle firewall gibi bir takim 3. seviye kontrol cihazlari ile erisim portlari kapatilmissa ssh ile baglandiginiz makina (host) uzerinden erismeniz farz olmayan kaynaklara erisebilirsiniz.
mesela okuldaki bir unix bilgisayara ssh erisiminiz var ama labdaki diger windows makinalara erisimi firewall yoneticisi bill gates askina kapatmis(tcp 22-unix makinasi erisimi acik ama diger tum portlar kapali) .
bu durumda remote desktop programi (tcp3389) ile windows makinaya ulasmak icin ssh tunnel kullanabilirsiniz. bunun icin unix makinaya bir ssh cekip unix makinasinin windows makinalara olan baglantisini kullanmak icin ssh tunnel acarsiniz..
tunel acildiginda kendi makinaniza baglaniyor gibi yaptiginizda ssh istemcisi (client) sizi tunelin icinden unix makinaya goturecek ve sanki unix makinadan windows makinaya remote desktop cekermis gibi olacaksiniz..
ornek senaryo:
putty.exe: internetten indirebildiginiz ucretsiz bir ssh istemcisi
plink.exe: ms-dos promptundan ssh tuneli kurmanizi saglayan putty ile ayni siteden indirebileceginiz bir programcik.
127:0.0.2: kendi makinaniz uzerindeki adreslerden biri
10.10.1.1: unix makinasinin arkasindaki internetten erisilmeyen windows makina (bu makinaya remote desktop ile baglanacaksiniz
3390: yerel bilgisayarinizda kullanacaginiz bos bir port
3389: remote desktop programinin kullandigi port
benimpassword: unix makina uzerinde ssh yaparken kullandiginiz sifre
efes911: ssh icin kullandiginiz kullanici ismi (username)
193.140.1.1: unix makinasi. bu makina uzerinde ssh sunucusu var, internetten erisilebiliyor ve bu makina 10.10.1.1 makinasini goruyor.
ms-dos promptunu acip (a.k.a cmd, command) putty ve plink.exe programlarinin kurulu oldugu klasore gelin:
plink.exe -ssh -2 -batch -v -m sleepfile.txt -l 127.0.0.2:3390:10.10.1.1:3389 -pw benimpassword efes911@193.140.1.1
komutunu girin. ekranda tunelin kurulduguna dair bi takim yazismalar goreceksiz:
3390:10.10.1.1:3389 -pw benimpassword efes911@193.140.1.1
server version: ssh-1.99-openssh_3.4p1
we believe remote version has ssh1 ignore bug
we claim version: ssh-2.0-putty-release-0.54
using ssh protocol version 2
doing diffie-hellman group exchange
doing diffie-hellman key exchange
host key fingerprint is:
ssh-rsa 1024 1f:a3:89:34:81:ff:12:0a:cb:c9:4b:e5:ed:b3:7d:32
initialised aes-256 client->server encryption
initialised aes-256 server->client encryption
using username "efes911".
sent password
access granted
opened channel for session
local port 127.0.0.2:3390 forwarding to 10.10.1.1:3389
started a shell/command
server sent command exit status 0
aciilan dos ekranlarini kapamayin. artik makinanizla unix makina arasinda bir tunel kuruldu. bu noktada kendi makinanizda remote desktop istemcisini (mstsc.exe) 3390 nolu porta yonlendirdiginizde, plink ile kurulan ssh tuneli sizi 10.10.1.1 ip adresli makinanin 3389 no'lu portuna unix makinasi uzerinden goturecek.. bunun icin aksesuarlar bolumundeki "remote desktop connection" ikonununa cift klikleyip "computer" alanina 127.0.0.2:3390 yazabileceginiz gibi ms-dos promptundan dogrudan"mstsc /v:127.0.0.2:3390 /f" yazmaniz yeterli olacaktir.....
sleepfile.txt 2 satirdan ibarettir:
sleep 30
exit
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap