Linux-projekti – SSH-yhteyden luominen

Androidin roottaamisen jälkeen aloimme ratkomaan projektimme seuraavaa ongelmaa: SSH-yhteyden muodostaminen puhelimen ja tietokoneen välille. SSH (Secure Shell)-yhteydes tarkoittaa käytännössä salattua yhteyttä kahden eri laitteen välillä, olivat ne sitten missä verkossa tahansa. Toinen laitteista toimii aina palvelimena ja toinen asiakkaana. SSH-yhteys on erittäin käytännöllinen, sillä sen avulla mahdollistuu turvallinen tiedon ja tiedostojen siirto laitteelta toiselle ilman muita ulkoisia apuvälineitä.

Viikolla 46 pidimme lyhyen esityksen siitä, mitä olimme tähän mennessä saaneet projektissamme aikaan. Lisäksi tutustuimme itsenäisesti lisää eri SSH-ohjelmiin ja tutkimme taustatietoa siitä, miten yhteys saataisiin muodostettua.

Löysimme mielestämme lupaavalta vaikuttavat ohjeet Cyanogenmodin sivuilta, joita aloimme seuraamaan.

Yritimme ensin noudattaa ohjeita niin, että Tommin puhelin (Samsung Galaxy S2) oli yhdistettynä koneeseen. Loimme koneella julkinen/yksityinen-salasanaparin ja kopioimme nämä myös puhelimen sdcardille. Tämä siksi, että vain oikean avaimen sisältävät koneet voivat ottaa yhteyden puhelimeen. Ennen tätä sdcard täytyi kuitenkin mountata saadaksemme rw-oikeudet, jotta tiedoston kopiointi onnistuisi.

Tämä onnistui komennoilla

$ adb shell

# mount -o remount rw /sdcard

Tämän jälkeen saimme siis tiedoston kopioitua sdcardille. Seuraavaksi täytyi ohjeiden mukaisesti luoda kansio, siirtää ko. tiedosto sinne ja tehdä joitain muokkauksia sen käyttöoikeuksiin. Törmäsimme kuitenkin kerta toisensä jälkeen virheilmoitukseen siinä vaiheessa, kun yritimme suorittaa komentoa

dropbearkey -t rsa -f /data/dropbear/dropbear_rsa_host_key

Ilmeisesti virheilmoitus johtui siitä, että ohjeissa oletettiin dropbearin olevan systeemissä valmiiksi asennettuna, kun taas todellisuudessa olemme jälkiläteen asentaneet sen siihen.

Yritimme siis seuraavaksi tehdä saman minun puhelimellani (Samsung Galaxy Ace), sillä flashasin siihen roottaamisen jälkeen CyanogenModin käyttöjärjestelmän, johon tuo dropbear oletuksena kuuluu. Tällä kertaa ohjeita seurattuamme pääsimmekin ohi tuon kohdan ja jatkamaan ohjeissa eteenpäin.

Komennolla

# ifconfig wlan0

saimme tietää puhelimeni ip-osoitteen (joka toki näkyy myös Dropbearissa puhelimessa) ja yritimme ottaa yhteyden koneelta puhelimeen. Jostain syystä tämä ei kuitenkaan toiminut puhelinverkon tai wlaninkaan kautta, ja vaikka yritimme monia säätöjä ja etsiä ohjeita eri lähteistä, ei mikään auttanut.

Lopulta päädyimme yrittämään yksinkertaisinta vaihtoehtoa, jota itse en ollut tullut edes ajatelleeksi. Koska molemmilla on Saunalahden liittymät, saa Oma Saunalahti-sivustolta vaihdettua asetuksen, jolla puhelinverkko alkaa käyttää IPv4-protokollaa. Tommi vaihtoi tämän asetuksen päälle ja puhelimessaan muutti vielä saunalahden APN:ää ja voilà!

Tämän jälkeen yhteyden muodostaminen onnistui välittömästi ilman ongelmia, yhteys pyysi vain rootin salasanan (oletuksena ”43”, vaihdoimme kuitenkin hieman monimutkaisempaan turvallisuden säilyttämiseksi) ja kaikki puhelimen tiedostot olivat saatavilla. Testasimme vielä, onnistuuko tätä kautta koneelta lisäämään esimerkiksi kansion puhelimelle. Annettuamme uudelleen tuon luku- ja kirjoitusoikeudet myöntävän komennon tämäkin onnistui ja kansio ”Testi” ilmestyi puhelimen File Manageriin. Yritimme myös yhdistää minun puhelimeni mobiiliverkon kautta Tommin puhelimeen SSH-yhteydellä käyttäen puhelimeni ConnectBot-ohjelmaa. Tämäkin yhteys onnistui ja pääsin selaamaan hänen tiedostojaan.
Ensi kerralla pyrimme vielä saamaan ”oikean” yhteyden toimimaan ilman Saunalahden tarjoamaa helpotusta, jonka jälkeen alamme selvittämään, onnistuisiko puppetin avulla useamman puhelimen keskitetty hallinta.

Jätä kommentti