24 Mart 2008 Pazartesi

iPhone'a SSH Üzerinden Erişim

iPhone'un akıllı bir telefon değil de, yanında telefon özelliği de bulunan cep bilgisayarı olduğunu gösteren en büyük delillerden biri de altyapısında bulunan Mac OS X işletim sistemidir. Mac OS X aslında Apple'ın kendi ürettiği bilgisayarların altyapısında kullandığı Unix tabanlı bir işletim sistemidir. iPhone'da ise, Mac OS X'in özelleştirilmiş bir versiyonu bulunmaktadır.

Hal böyle olunca, Installer aracılığı ile kurulan bir kaç program (BSD Subsystem, OpenSSH, vb. ) sayesinde, iPhone'unuz uzaktan bağlanabildiğiniz herhangi bir bilgisayara dönüşür. Bu sayede iPhone ekranından yapamadığımız ya da zorlukla yaptığımız bazı işlemleri, uzaktan bağlantı programları ile kolay bir şekilde yaparız.

Bu yazıda da amacımız, "SSH Client" diye tabir edilen programlar ile iPhone'a nasıl bağlanabileceğinizi göstermek. Fakat öncelikle Unix/Linux dünyasına pek aşina olmayanlar için SSH kavramını Wikipedia'dan yaptığımız alıntı ile açalım:
SSH, Telnet ve rlogin gibi ağ üzerindeki başka bir sunucuya uzakta bulunan bir başka makineden bağlantı sağlayan bir protokoldür. SSH açık haliyle Secure Shell yani güvenli kabuk anlamına gelir. Telnet ve rlogin kullanıcı şifreleri dahil tüm iletişim açık yani şifrelenmeden gerçekleştirilirken, SSH güvensiz makineler arasındaki iletişimi güçlü bir kriptografik yöntemiyle şifreler.
iPhone'a SSH üzerinden bağlanabileceğiniz bir çok ücretsiz program mevcuttur. Bu programların bazıları sadece dosya transferi yapabilirken, bazıları da sadece komut çalıştırabilir. Birazdan anlatacağım SSH Secure Shell gibi programlarla da her iki işlemi birden aynı anda yapmak mümkündür.

SSH Secure Shell ile iPhone'da tam olarak neler yapabiliriz derseniz:

* Cihazınızdaki dosyaların yedeğini alabilir
* Cihazınıza dosya kopyalayabilir
* Cihazınızda kolayca dosya silme, yaratma, taşıma gibi işlemler yapabilir
* Cihazınızda komutlar çalıştırabilir
* ya da yanlış bir komutla veya işlemle cihazınızı restore etmek zorunda kalabilirsiniz :)

Gördüğünüz gibi SSH ile herşey yapmak mümkün, bu yüzden eğer unix komutlarına hakim değilseniz kendiniz denemeler yapmayın. Sadece sorunlarınızın çözümü için size söylenen veya yazılan komutları çalıştırın.

SSH ile iPhone bağlanabilmek için Wi-Fi ve SSH Servislerinin açık olması gerekiyor. (SSH için cihazınızda OpenSSH ve BSD Subsystem paketleri yüklü olmalı, Installer'ınızdan kontrol edebilirsiniz.) WiFi, EDGE, SSH, vs. gibi servisleri kolayca kapatıp açmak için Boss Prefs uygulamasını kullanabilirsiniz. Boss Prefs, Wi-Fi üzerinden bağlandığınızda atanan IP adresi ni de göstermektedir ki bu IP adresi SSH ile bağlanırken lazım olacak.



SSH'ınız artık açık olduğuna göre, bu linkten indirebileceğiniz ücretsiz SSH Secure Shell uygulaması ile cihazınıza bağlanabilirsiniz.

SSH Secure Shell'i çalıştırdığınızda ilk yapmanız gereken sol üst köşedeki "Quick Connect" düğmesine basmak karşınıza çıkan ekrandaki alanları aşağıdaki şekilde doldurmak:



"Host Name" alanına, yukarıda bahsettiğim Boss Pref uygulamasında "Wifi" etiketinin hemen sağında parantez içerisinde yer alan IP'yi yazın. "User Name" alanına ise "root" yazın ve "Connect" düğmesine basın. Karşınıza "Password" isteyen bir ekran çıkacak, bu alana da şifre olarak "alpine" yazın ve "OK" ye basın. Şifre, değiştirmediğiniz sürece herkeste aynıdır. BSD Subsytem'daki bir bug yüzünden kolayca değiştirilemiyor. Bu yüzden sakın siz de değiştirmeye kalkmayın.



Eğer bağlantı veya şifre yanlış gibi bir hata almadıysanız karşınıza yukarıdaki gibi Konsol veya Komut Satırı diye adlandırılan bir ekran gelecek. Artık bu ekranda istediğiniz komutları çalıştırabilirsiniz. Örnek olması açısından ekran görüntüsünde weDict uygulamasını kurduktan sonra "Local" sözlük çalıştırmada problem yaşayanların sorununu çözecek komut çalıştırılmıştır.

Aşağıdaki ekran görüntüsü de yukarıdaki ekranda kırmızı daire ile belirttiğimiz düğmeye tıklandığında açılan Dosya Transfer menüsüne aittir.



"/Applications" yazan yere "/private/var/mobile/Media/DCIM/100APPLE" yazıp "Enter" tuşuna basarsanız, cihazınızdaki fotoğrafların saklandığı Albüm klasörüne ulaşırsınız. Bu klasördeki *.JPG uzantılı dosyaları sürükle-bırak yöntemi ile kendi bilgisayarınıza atabilirsiniz.

Son olarak SSH kullanımı ilgili bir kaç uyarı/hatırlatma yapmakta fayda var:

* "root" şifresi herkesin bildiği bir şifre olduğu için SSH servisini sadece evinizde veya güvenilir Wi-Fi ağlarında açın. Alışveriş merkezleri gibi herkesin ortak kullandığı yerlerde SSH devamlı kapalı olsun. Yoksa meraklılar cihazınıza kolayca bağlanıp tüm dosyaları silebilir.
* "root" kullanıcısı en yetkili kullanıcıdır, bu kullanıcı ile cihazınızda yaptığınız işlemlere dikkat edin. Ne yaptığınızı bilmek istiyorsanız http://tr.wikipedia.org/wiki/SSH adresindeki komutların açıklamalarına göz atabilirsiniz.
* Çoğu Windows kullanıcısı dahi SSH'ı bilmez. SSH genelde Unix Sistem Yöneticileri tarafından bilinen ve kullanılan bir protokoldür. iPhone insana neler öğretiyor :)

36 comments:

Adsız dedi ki...

anlatim icin tesekkurler.ben bu programlari yukledim ancak bilgisayardan ulasamiyorum cunku mac kullaniyorum.

ayrica openssh yukledigim halde ikonlarda gozukmuyor, ama installerda yuklu gozukuyor ve bosspref dede openssh acik durumda.

mac icin nasil baglanilabilir anlatabilirmisiniz?

server connect yapiyorum (finder icinden normalde ftp ve baska bilgisayarlarda kullandigim uygulama) ama baglanamiyor.

Mustafa Tan dedi ki...

Selamlar,

SSH bir servis oldugu icin bir ikon gormemeniz normal. BossPrefste gozukmesi yeterli.

Mac kullanmadigim icin size oneride bulunamiyorum, ama kullanan arkadaslardan ogrenip burada paylasmaya calisirim.

Ftp farkli bir protokol oldugu icin sadece ftp destegi olan programlar SSH a baglanamayabilir

Mustafa Tan dedi ki...

Selamlar,

Mac OS X için SFTP (SSH Secure File Transfer) yapabilen Cyberduck isimli ücretsiz bir yazılım mevcutmuş: http://cyberduck.ch

Ayrıca SSH üzerinden komut çalıştırabilmek için mac os x içindeki komut satırı kullanılabiliyormuş:

http://www.nbcs.rutgers.edu/ssh/ssh_osx.php3

Adsız dedi ki...

cok tesekkur ederim yardimci oldugun icin ben cyberduck kullaniyordum ama sftp ye baglanabilecegini dusunemedim :) kolay gelsin

Hoyrat dedi ki...

Hocam cok gusel uzun uzun anlatmissin da bu isi windowsta dedigin gibi yapamadim alpine yazdiktan sonra senin gosterdigin ekran yerine alltaki ekran cikiyor yani komut ekrani cikmiyor. Macte yapabilen varsa lutfen yardim etsin

batuhan dedi ki...

iyi gunler Mustafa abi ben dediklerinizin hepsini yaptim wedict uygulamasina SSH uzerinden ulasabiliyorum ama bu sozlukleri nasil telefonumda gorebilirim butun sozlukler goruluyor ama telefonda kullanamiyorum nasil degistirilecegini yapamadim veya telefonda nasil gorunecegini yapamiyorum turkce kitaplarida yuklemistim ama gorunmuyor telefonda ama SSH DE YANI BILGISAYARDA GORUNUYOR yuklediklerimi nasil telefonda gorunecgini bilmiyorum eger vaktinizz var ise lutfen bir kac dakikanizi ayirip izah edebilirmisiniz iyi gunler (1.1.4)

Mustafa Tan dedi ki...

Selamlar,

Aşağıdaki komutu SSH Client ile çalıştırıp sözlükleri tekrar yüklemeyi denediniz mi?

chown -R mobile:mobile /var/mobile/Library/weDict

batuhan dedi ki...

evet ama sozlukleri tekrar nasil yukleyecegimi o linki yazdim wedict uygulamasi cikti butun telefonun icerigi cikiyor ama yuklemesini bilmiyorum(( hatta nasil resimleri ssh uzerinden bilgisayarima indirilecegini bilmiyoum kusura bakmayin

Akgenc dedi ki...

şimdi bu işlem güzel bi olaya benziyo ama hatırlarsanız biz boss tool ıle yerden azanmak ıcın free space dısk yaptıgımısdan burdakı yoergeler bırazcık degısmesı gerekmıyormus cunkı ıkı yerde app ver 1. /var/Applications 2./Applications birde 3. /private/var/Applications var hangısı ne işe yarıyo tam anlayamadım anlamadan da bişi yapmak istemiyorum açıkçası.

Akgenc dedi ki...

bu arada düzeltiyorum aceleden yanlış yazmışım "Gerekmiyormus" değil "Gerekmiyor mu?"

Hasan BAL dedi ki...

bu sitede emeği olan herkese teşekkür ederek sözlerime başlamak istiyorum.
Benim evimde wireless modemim yok, bağlantım da yok.bu sebeple wifi nin yanında ip numarası yazmıyor.telefonu usb dock la pcye bağlayınca da ip adresi falan yazmıyor.Boss Preff 1.67 kullanıyorum.Telefonumun versiyonu 114.ayrıca pc deki işletim sistemim de Windows XP.Bu konuda Bilgisi olanlardan yardım istiyorum.

Mustafa Tan dedi ki...

Selamlar,

Eğer iPhone sahibi iseniz evinizde veya işyerinizde mutlaka bir tane Wi-Fi cihazınız olsun.

ADSL modeminizi değiştirmek zorunda değilsiniz. Sadece Wi-Fi switch'ler de satılıyor modeme bağlanabilen.

tahil ambari konya ovasi dedi ki...

Mustafa Bey iyi günler.

Size ve niffob'a çok teşekkürler il olarak. sayenizde iphone'umuz birçoklarına göre klas bir şekil aldı:)

sorunuma gelince: hehangi bir uygulamayı yüklerken veya kaldırırken "Package download failed" hatası veriyor. Bu hatanın sebebi olarak yarım kalan yüklemeleri veya kurulumların olabilecegini ve SSH ile ulaarak çözülebilecegini yazmışsınız. Ama SSH ile ulaşmak için gerekli olan programlardan "OpenSSH ve BSD Subsystem" ve yüklü ama ne yazık ki "Boss Prefs" yüklü değil. Bunu yüklemeye çalıştığımda yine "Package download failed" hatasını veriyor tahmin edebileceğiniz gibi. Bir çözüm önerebilir misiniz?

Not: Telefonum 1.1.4. firmware yüklü, BSD Subsystem v2.1, OpenSSH ise v4.6p1-2.

Mustafa Tan dedi ki...

Teşekkürler,

Muhtemelen hatali install istekleri kuyrukta kalmistir. Once "Clear Queue" secenegini isaretleyip sonra install etmeyi deneyin

Adsız dedi ki...

abi harikasın ya çok teşekkür ederim saol süpersin!

TheDust dedi ki...

Arkadaşlar aynı sorun bende de var ama benimkinde download hatası vermiyo, direk installerdan çıkıp springboarda geri dönüyo. Istallerı yeniden reinstall seçeneği ile yüklemeyi deniyorum hafızad 512KB yer boşaltın diyo. sırada bekleyen install programı bulunmadığından da yapılabilecek tüm denemeleri yapmış olmama rağmen birçok programı yükleyemiyorum. lütfen birileri yardımcı olsunnn...

Mustafa Tan dedi ki...

Selamlar,

Sanırım siz diskte yer kalmama problemi yaşıyorsunuz. BossTool uygulaması ile bu sorununuzu giderebilirsiniz.

ayhanmese55@hotmail.com dedi ki...

merhaba mustafa bey ben iphonuma SSH ile summerbord/tema kısmına yüklü miktarda tema yükledim.yaklaşık 1GB Şimdi ise yüklediğim temaları silmek istiyorum.fakat bir türlü silmeyi başaramadım./var/mobile/Library/SummerBoard/Themes ın içindeyim delete tuşuna bastığımda şu mesajı alıyorum.plase make sure that the folder is empty before deleting it. lütfen temaları silmeme yardımcı olurmusunuz.

Mustafa Tan dedi ki...

selamlar,

Klasoru icinde baska dosya varken silemezsiniz. Once klasor icindeki dosyalari silin

Adsız dedi ki...

SSH uygulamasini bilgisayarima indirdim, dediklerinizi aynen uygulamama ragmen password istiyor. bu neyin nesi, neyin sifresi. bundan dolayi ulasamiyorum dosyalara. nasil cozebilir, tesekkur ederim

Mustafa Tan dedi ki...

Selamlar,

Yazıda da belirttiğimiz gibi şifre olarak "alpine" yazmanız gerekiyor. Bu iPhone için standart bir şifredir.

Adsız dedi ki...

selamlar

Mustafa bey öncelikle verciğiniz bilgi ve emek için cok teşekkürler çok güzel olmuş ben bu programı yükledim calıştırdım söylediğiniz herseyide yaptım fakat ipod touchuma istediğim program olan ve ssh programından yüklenebilen vistaperfection 2.0 temasını bir türlü yükleyemedim yardımcı olursanız cok mutlu olurum (vistaperfection bilgisayara yüklü)
saygılarımla, Numan

BozoBey dedi ki...

Mustafa Bey

Burdaki anlatim 1.14 versiyonu icin ama bende 2.02 versiyonu var ve ip numarami göremiyorum. Nasil baglanabilirim simdi.

Adsız dedi ki...

slm
mustafa bey gerçekten çok güzel bi anlatiminiz var size oncellikle çok teşekkür ederim bilgilendirdiğiniz için ve sayenizde öğrenmiş oldum. Ben ssh dan iphone-pc bağlantisini yaptim hatta bir sürü fotoğraf vardi iphone da tek tek silemiyordum onlari bi güzel sildim topluca yalnız müzikleri iphone a nasıl gonderecem hangi dosya içine atmalıyımki ve mp3. olarak mi goderecem aydinlatirsaniz çok sevinirim elinize sağlık hoşçakalın...

atlantiq dedi ki...

merhaba. ssh dan buyuk dosyaları gönderemiyorum. acaba dosya boyutu limitimi var. winscp den mesela 5 mb lık bi dosya gtmiyor. diğer ftp ssh programlarıylada denedim sonuc aynı. sadece filezilla programı gonderıyor o da gonderdıkten sonra dosya boyutunu 0kb olarak gosterıyor ve dosya calısmıyor.nasıl buyuk dosya gonderebılırım acaba.

Mustafa Tan dedi ki...

Selamlar,

SSH'da bir dosya limiti yok. Zaten 5MB. yüksek bir miktar değil. Cihazınızda yer kalmamış olabilir mi?

Adsız dedi ki...

Merhabalar, yukarıda bir arkadaşın da sorduğu gibi bende şu müzik yükleme konusunu merak ediyorum. itunes kullanmadan bunu yapabilmenin bir yolu varmı ve nasıl dosyaları çalabilir iphone (mp3 vs.) teşekkür ederim.

Papardella dedi ki...

Merhabalar,
Ben telefonumun tam bir yedeğini almak istiyorum.Bunu nasıl yapabilirim ? İtunes, malum sadece belli şeyleri yedekliyor.
Bir de İphone içine MS Office dosyalarını bir kalsör açıp,içine atmak istiyorum.Tüm bunları nasıl gerçekleştirebilirim ?iPhone 3G v:2.1
Teşekkürler.

Mustafa Tan dedi ki...

Selamlar,

Eğer cihazınızı jailbreak yapmadan kullanmak istiyorsanız dosya transferi için Air Sharing uygulamasını tavsiye ederiz.

Papardella dedi ki...

Tekrar merhabalar,
Cihazım Jealbreakli.Air Share ise ücretli:)Cydia'dan Ücretsiz ve işlevli bir öneriniz olabilir mi?Teşekkürler

Sadullah dedi ki...

Evet Air Share gerçekten de ücretli olmuş. 6.99$ diyor. Bizim Türkiye için mi ücretli yoksa herkes için mi ücretli olmuş. Bu programın alternatifi var mı?

Cem Tonguç dedi ki...

bir benzeri http://www.sugarsync.com/ ancak denemedim. şimdi indiriyorum.

Cem Tonguç dedi ki...

sugarsync de ücretliymiş maalesef. Ürün Free ama account açmanız gerekli ve 45 gün deneme süresi veriyor.

av.yigit dedi ki...

Air Sharing programının yanında birde Folders (ractor) isimli bir program buldum. Bu daha ucuz. 1.99$Ancak tek yıldız almış. Yıldızlar ne anlama geliyor bilniyorum ama bu program hakkındaki görüşleriniz nedir merak ediyorum?

Adsız dedi ki...

SSH için FileZilla kullanıyorum Mac'te. HEm çok kullanışlı bir ftp programı hemde ücretsiz....

Orhan Bahadir Dogan dedi ki...

Merhaba Mustafa Bey,

Installer'da Open SSH'yi buldum ve indirdim fakat BSD subsytstem hem installer'da hem de cydia'da bulunmuyor. Secure Shell programini da indirdim fakat kullanamadim, sanirim BSD'nin olmamasi yuzunden. Nerden edinebiliriz BSD'yi? Video Recorder 3G kullaniyorum ve videolarimin aktarimi icin gerekli, yardimci olabilirseniz memnun olurum.

Iyi calismalar, saygilarimla.

t