AppleTV 2 Gen – SSH-ongelma

 

1339150059

 

 

 

 

 

 

 

 

 

 

Törmäsinpä perin raivostuttavaan ongelmaan jailbreikatun AppleTV 2:n kanssa (versio 5.3 – iOS 6.1.4 – 10B809), kun pienehkön tauon jälkeen oli tarve ottaa Macilta SSH-yhteys ATV:n. Kun eteen pärähti virheilmoitus: ssh_exchange_identification: Connection closed by remote host eli yhteys katkaistiin heti alkumetreillä. Hämmentävää! Ensimmäisenä tutkailin tietysti Mac:n ~/.ssh – hakemiston sisällön. Olisiko siellä config-filetsussa jotain hämminkiä. Ei ollut. Macilta sai kyllä AFP:n yli yhteyden AppleTV:n, joten sitä kautta pääsin tutkailemaan /etc/-hakemistosta löytyvää hosts – tiedostoa, josko siellä olisi jotain epämääräistä. Eipä ollut mitään outoa sielläkään. Varmistin vielä, josko jostain syystä olisi hosts.deny ilmaantunut aparaattiin. Eipä ollut sitäkään häiritsemässä. Siispä testimielessä loin ATV:n hosts.allow – tiedoston, mutta eipä tämäkään auttanut ssh:n yli yhdistämisen ongelmaan.

Lisää pään raapimista ja googlausta. Hakutulokset antoivat viitteitä ongelman liittyvän OpenSSH_6.x – pakettiin. Kuitenkaan en ATV:lle ole tehnyt mitään sen kummalisempaa. Ainoastaan jailbreikannut Seas0nPass:lla ja asentanut FireCoren ATV Flash Black:n ja NitoTV:n, eli tästä voidaan olettaa, että jailbreakin myötä asennettu OpenSSH 6.x  ei asennu oikein tai jotain muuta mystistä. Miten tästä eteen päin? Uudelleen jailbreikkaus tuskin auttaa, jos ongelma lymyää itse jailbreakissa…Ensimmäisenä kokeilin NitoTV:n kautta kaikkien pakettien päivitystä ja erikseen myös OpenSSH:n päivitystä. Tuloksena oli vain ilmoitus, että OpenSSH on viimeisin versio.

Sekalaisista tiedonmurusista poimin vinkin, että OpenSSH:n versio 5.8p1-9 olisi ratkaisu ongelmaan. Siispä Googleen hakusanaksi: openssh_5.8p1-9_iphoneos-arm.deb ja paketti jemmaan tietokoneelle. Seuraavaksi pitäisi jotenkin pakottaa Cydia asentamaan vanhemman version OpenSSH-paketista. Koska järjestelmässäni toimi yhteys AFP:n yli pääsin helposti ronklaamaan ATV:n asetuksia. Ensimmäisenä siirsin laatamani .deb-paketin Cydian AutoInstall-hakemistoon. Näppärä työkalu tähän on muCommander, koska sillä onnistuu myös tiedostojen oikeuksien muuttaminen, joka tässä prosessissa on tarpeen. Cydian AutoInstall-hakemisto löytyy: /private/var/root/Media/Cydia/AutoInstall kun paketti on siirretty sinne muutetaan tiedoston oikeudet muCommanderilla: 744. Nyt paketti on jemmassa Cydian automaattisesti asennettavien pakettien hakemistossa, mutta tämä ei vielä riitä, sillä järjestelmään on asennettuna uudempi versio OpenSSH:sta.

Siispä Cydialle pitää kertoa, että halutaan asentaa vanhempi versio. Tämä onnistuu muokkaamalla: /private/var/stash/libexec/cydia/ hakemistosta löytyvää startup -tiedostoa. Suosittelen muokkaamaan tiedostoa suoraan päätteessä, vaikkapa nano:a tai vi:tä apuna käyttäen. AFP:llä liitetyt laitteet löytyvät päätteessä /Volumes/ – hakemistosta. ATV:n juurihakemisto liitetään: /Volumes/root – muokkauksen voi tehdä myös, jollain tekstieditorilla kuten vaikkapa TextMate:lla tai vastaavalla kunhan varmistuu, ettei tallennettaessa tiedostoon tule mitään epämääräisiä muotoilukomentoja.

Startup-tiedostosta löytyy rivi:

dpkg -i "${debs[@]}" 2>/tmp/dpkg.log 1>&2 , joka muutetaan muotoon: dpkg --force-downgrade -i "${debs[@]}" 2>/tmp/dpkg.log 1>&2

jolla pakotetaan asentamaan AutoInstall-hakemistosta löytyvä vanhempi versio OpenSSH:sta. Annetaan vielä muCommanderin avustuksella tiedostolle 744 oikeudet. Kokeilin muuttaa oikeuksia suoraan päätteessä chmod ja sudo chmod-komennoilla, mutta jostain syystä oikeudet eivät muuttuneet. Ainoastaan muutos onnistui muCommanderin avustuksella. Hämmentävää tämäkin! Seuraavaksi kiskaisin ATV:sta virtajohdon irti ja hetken päästä paraatti takaisin verkkovirtaan. ATV vilkutteli normaalia pidempään valoa ja tuntui, ettei se käynnisty ollenkaan, mutta tovin vilkuttelun jälkeen laite oli jälleen käynnissä. NitoTV:n kautta varmistin, että OpenSSH:n versio on 5.8p1-9 ja ei muuta kuin kokeilemaan Macilta ssh-yhteyttä. D’oh!  edelleen ilmoitus: ssh_exchange_identification: Connection closed by remote host.

NitoTV uudelleen auki ATV:sta ja kokeilemaan OpenSSH-paketin päivitystä. Kas päivitys löytyi ja asentui. Uusi yritys tietokoneelta ja vihdoin ssh-yhteys toimii! Oletan, että jailbreakin myötä asennettava OpenSSH 6.x ei asennu oikein tai jotain riippuvuuksia jää asentumatta, koska kun pakottaa Cydian asentamaan OpenSSH:n vanhemman version ja sen jälkeen päivittää OpenSSH:n uudempaan toimii tämän jälkeen SSH-yhteys normaalisti.

 

Ei Kommentteja

Kommentoi kirjoitusta:

Please be polite. We appreciate that.
Your email address will not be published and required fields are marked