şükela:  tümü | bugün
  • ssh protokolu araciligiyla bilgisayariniz ve ssh ile baglandiginiz sunucu arasinda bir tunel kurup, tunellemeye actiginiz portlardaki iletisimi kismen guvenli kilmak seklinde tanimlayabiliriz.

    bu islem genelde sifrelenmemis, salt metin seklinde yapilan baglantilari guvenli hale getirmek icin kullanilir. ayrica, sisteminizde belirli portlar kapatilmissa bu portlari acmak icin de bu yontemi kullanabiliriz.

    herhangi bir ssh clientinde session menusunden tunelling kismina gelinir. baglanmak istedginiz port yerine port numarasi yazilir, remote ya da destination kismina ise baglanmak isteginiz sunucu ve port adresi yazilir..

    bunu ssh komut satirindan asagidaki gibi yapabiliriz:
    ssh <ssh sunucunuz> -l 110:server1.domain.com:110

    local 110 portu server1'in 110 portuna yonlendirilmis...

    server1'e baglanmak isteyen herhangi bir programda (ornegin pop3 client) server yerine localhost yazip baglanabilirsiniz.

    istediginiz sayida tunelleme yapabilirsiniz, orn:

    ssh <ssh sunucunuz> -l 110:server1.domain.com:110 -l 21:server2.domain.com:21

    goruldugu gibi 110 ve 21 portlari cesitli sunuclara yonlendirilmis.
  • 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
  • youtube'a girmek için kullandığım olay.
  • efes911'in plink komut satiri yerine sunu kullanmak daha pratik olabilir. ayri bir komut dosyasi kullanmaya gerek birakmiyor.
  • 22 kasım internet sansürü uygulamasından sonra daha fazla bilinirliğe sahip olacağını düşündüğüm teknik. bir diğeri için (bkz: vpn)