MidpSSH — klient SSH w komórce
20 listopada 2006, Treadstone
Wyobraź sobie sytuację, że siedzisz na nudnym wykładzie czy spotkaniu słuchając nędznych wypocin prowadzącego… Nie miło byłoby w tym czasie przeczytać pocztę, sprawdzić ile jeszcze zostało czasu do ściągnięcia ulubionej gry (na licencji GPL oczywiście), skompilować parę programów czy też zaktualizować swój domowy system do najnowszej wersji? A może po prostu chciałbyś zaimponować znajomym pokazując, że potrafisz wysuwać CD-ROM ze swojego komputera siedząc na kanapie w sąsiednim pokoju? Brzmi interesująco? Wiesz już o czym piszę? Tak, to klient SSH dostępny na telefon komórkowy.
MidpSSH jest klientem SSH i Telnet dla platformy J2ME (obecnej na większości telefonów komórkowych i innych małych mobilnych urządzeń) napisanym w przez Karla von Randow i udostępnionym na licencji GPL. Bazuje on na programach FloydSSH i Telnet Floyd autorstwa Czecha, Radka Polaka.

Rys.1 Logo MidpSSH
Wymagania
Wystarczy, że będziesz posiadał jeden ze wspieranych telefonów i komputer z publicznym numerem IP i z Linuksem na pokładzie (może być też inny system np. BSD czy Solaris, z dostępnym kontem shell* i serwerem SSH).
Jeśli nie wiesz czym jest SSH, to możesz przestać czytać ten artykuł i najpierw uzupełnić brakującą wiedzę:
- Opis SSH w Wikipedii — wstęp do SSH
- Sztuczki z SSH — artykuł o zastosowaniach SSH, z naszego wortalu
Instalacja programu
A więc do dzieła. Jeśli spełniłeś powyższe warunki możesz przystąpić do pobierania i instalacji programu - jest w dziale download strony producenta. Należy go wgrać tak, jak inne aplikacje Java, przez kabel, bluetooth bądź podczerwień. Autorzy pomyśleli też o osobach nieposiadających w/w ułatwień i udostępnili stronę WAP, z której prosto możemy ściągnąć program MIDP. W zależności od potrzeb ściągamy którąś z wersji programu. Ja polecam MIDP 2.0 Full Build (Telnet, SSH1, SSH2). Jak wskazuje nazwa program umożliwi
nam łączenie się poprzez SSH, SSH2 i nieszyfrowany telnet. Jest tylko jedno ale - program jest dość duży, ma aż 108 kb, ale możliwości ma wprost proporcjonalne do wielkości:) Do połączenia się z WAP i do używania programu wymagane jest połączenie z Internetem przez komórkę, najlepiej przez GPRS, gdzie koszta naliczane są od ilości przesłanych danych, a nie od czasu trwania połączenia. Oczywiście trzeba się liczyć z tym, że polecenia będą realizowane z niewielkim opóźnieniem w porównaniu do zdalnej pracy na komputerze. Spowodowane to jest głównie faktem, że komórki posiadają zwykle wolniejsze łącza niż komputery. Wracając do tematu - zakładam, że do tego momentu masz już ściągnięty program i właśnie zabierasz się do uruchomienia go - zrób to, najwyższy czas
Interfejs MIDP

Rys.2 MidpSSH — login
Po uruchomieniu programu ukazuje nam się menu główne, z którego możemy wybrać:
- Sessions - Sesje - służy do łączenia się z zdalnym komputerem. Po wybraniu możemy ustawić sobie nazwę sesji, czy program ma używać klucza publicznego (żeby nie było potrzebne wpisywanie hasła, najpierw trzeba takowy wygenerować), nazwę użytkownika, hasło, typ sesji (SSH/telnet) no i host (adres) serwera. Jeżeli zależy nam na bezpieczeństwie, możemy nie wpisywać hasła, program będzie nas pytał za każdym razem o nie przy próbie połączenia
- Macros - Makra - bardzo przydatna opcja - możemy bez łączenia się wpisywać makra, czyli zbiór poleceń oddzielanych przyciskiem Enter. Potem, gdy jesteśmy połączeni możemy wykonać makro i szybko się rozłączyć. Inne zastosowanie tej opcji, to brak konieczności wpisywania za każdym razem dłuższych poleceń z niewygodnej klawiatury telefonu.
- Settings - Ustawienia - I podkategorie:
- Network - Sieć - Ustawienia domyślne wystarczą do poprawnego działania;
- Interface - Interfejs - Najlepiej ustawić, żeby terminal wypełniał cały ekran (fullscreen). Dla telefonów posiadających duże ekrany może być przydatne zmienienie ustawienia orientacji na Landscape, tekst będzie wtedy wyświetlany bokiem do góry. Reszta bez zmian.
- Fonts - Czcionki - Dla ekranów 128×128 najlepiej zmienić czcionkę na “LCD 5×9″, kolory można pozmieniać, wpisuje się je w wartościach heksadecymalnych (tak jak w html).
- SSH - SSH - Bez zmian. Uwaga - nie wiem, czemu, ale po zmianie opcji “Prefer” na SSH2 program nie chciał się połączyć z żadnym hostem.
- Restore defaults - Przywróć domyślne (ustawienia) - przywraca domyślne ustawienia:)
- About MidpSSH - O MidpSSH - Krótka informacja na temat programu
- Help - Pomoc - Zawiera opis, jak się połączyć
- Quit - Wyjście - Wyjście z programu
Oczywiście zachęcam do eksperymentowania z opcjami, tak, aby MidpSSH był dostosowany konkretnie do Twoich potrzeb i możliwości telefonu.

Rys.3 MidpSSH w akcji
Instalacja serwera SSH
Teraz, gdy mamy już skonfigurowany MidpSSH, możemy zainstalować serwer SSH na naszym komputerze. To zadanie pozostawiam już Tobie. Dla przykładu podam jedynie, że w Debianie potrzebny jest pakiet: openssh-server i ew. openssh-client, gdyby trzeba było coś przetestować z poziomu komputera. Źródła i wszelkie informacje na temat OpenSSH są tu: http://www.openssh.com/
Natomiast, gdy nie masz OpenSSH w repozytoriach swojej dystrybucji (jest to bardzo mało prawdopodobne), bądź chcesz je skompilować samodzielnie, możesz ściągnąć go np. stąd.
Gdy komputer jest już skonfigurowany, w MidpSSH, w Sessions wybieramy New, wpisujemy nazwę, pod którą będą widnieć nasze ustawienia, adres hosta, bądź nasze IP, typ sesji przełączamy na SSH, w polu Username wpisujemy nazwę użytkownika, a w Password - hasło. Klucz publiczny możemy ustawić na ON.
I to wszystko, życzę wszystkim udanych połączeń i miłej pracy/zabawy:)
Jeżeli masz jakieś pytania kieruj je na adres luki44 [at] interia [dot] pl.
* Jest też wersja serwera SSH na Windows NT/2000/XP, jednak ograniczenia w jakie Microsoft wyposażył swój “Wiersz Poleceń” sprawiają, że wiedza z tego atykułu nie przyda się w praktyce.
Komentarze (RSS) | Trackback (URI)
Liczba komentarzy: 22
W komentarzach możesz używać prostych znaczników HTML. Przykłady:
- Link: <a href="jaklinux.org">Linux dla każdego</a>,
- Wytłuszczenie: <strong>tekst pogrubiony</strong>,
- Kursywa: <em>tekst pochylony</em>,
- Przekreślenie: <strike>
tekst przekreślony</strike>, - Kod: <code>
printf("blok kodu");</code>, - Cytat: <blockquote>cytat</blockquote>



To pytane jest na tyle ogólne, że nie powstrzymam się przed zadaniem go tutaj. W kwestii wymagań: czy nie jest potrzebny włączony komputer? Jeśli ten klient SSH umie wystartować z komórki system operacyjny wyłączonego komputera domowego, to chylę czoła.
@Alek: a czemu ma nie umieć? Jak masz aktywowane w BIOSie wake-on-lan to nie powinno być problemu. Ale to nie ma nic do rzeczy odnośnie tego artykułu. Oczywiste jest, że aby się połączyć z komputerem, musi on być uruchomiony (lub choćby podłączony do prądu :P).
Co za czasy. Teraz lepiej w każdym artykule n/t różnej maści programów dodawać: 1. Potrzebny Ci *włączony* komputer.
Nie wiem na co to zrzucić. Ostatnio ludzie mają coraz większe problemy z myśleniem. Odeślij do google, to zwichnie sobie psychikę.
Czy wykorzystując forwarding portów uzyskamy ten efekt?
1. TAK
2. NIE
3. Nie mam zielonego pojęcia o co Ci chodzi.
@michuk Nie jestem informatykiem. Trochę interesuję się tym i owym, ale nie przesadzajmy. Próbując wyobrazić sobie działanie tego, co opisano w artykule, zabrakło mi elementu budzenia komputera przez Internet. Kiedyś gdzieś czytałem, że można włączać tylko komputer w sieci lokalnej. Teraz po Twoim komentarzu zweryfikowałem swoją wiedzę. O wake-on-lan zwyczajnie nie wiedziałem, a teraz wiem i to jest informacyjna wartość dodana do mojej naturalnej sieci neuronowej
Gdy czytam o danym, rozwiązaniu zwykle analizuję je pod kontem “czy znam wszystkie elementy pozwalające zastosować je w praktyce”. Jeśli chodzi o czystość teoretyczną, to ta kwestia nie była bezpośrednio związana z samym klientem SSH. Jednak, żeby z niego w praktyce skorzystać o wake-on-line też trzeba wiedzieć.
Dla osób zainteresowanych ta kwestią dodaję link do artykułu na temat budzenia komputera.
@ Tor To, ze na dobrych programach są dzieci neostrady, było jasne od dawna. Szkoda jednak, że i tutaj przychodzą tacy jak Ty. Jedni robią dobrą robotę, piszą artykuły popularyzujące system, robią tłumaczenia, pomagają na forach, a tacy jak Ty niszczą piękną ideę open source.
Uważasz, że można poniżyć kogoś tylko dlatego, że nie zna wake-on-lan. 99,8% ludzi nie wie czym ono jest. Znam kilka osób, które próbowały przesiadki na otwarty system, ale zrezygnowały. Co ciekawe większość z nich nie zrezygnowała z powodu trudności, tylko właśnie przez takie docinki na forach. Różnica między mądrym a głupim jest taka, że mądry gdy nie wie, to pyta, a głupi twierdzi, że wie wszystko i szydzi z pytających. Między innymi dlatego nie używam Linuksa, że nie jestem wszechwiedzący i musiałbym czasami zadać pytanie. Jednak czytanie takich komentarzy jak Twój przynajmniej mnie odstrasza skutecznie.
Powiem jeszcze jedno. W Windowsie też kiedyś zaczynałem od zera. Uczyłem się od podstaw Internetu i też zadawałem pytania, które dziś wydają mi się banalne, ale jakimś dziwnym trafem nie dostawałem szyderczych odpowiedzi. Nigdy pytając o programy okienkowe nie czułem się poniżony przez współużytkowników danego forum. Problemem Linuksa nawet nie są maniacy, którzy próbują leczyć kompleksy kosztem innych, bo tacy zdarzają się wszędzie. Problemem jest akceptacja dla takich zachowań na forach Linuksowych. Admini prędzej przyłączą się do jaj z newbie niż upomną chamstwo szydercy.
Sam jestem moderatorem na forum nie związanym informatyką. Tam też przychodzą tacy jak Ty Torze i też próbują dowartościować się czyimś kosztem. Z tą różnicą, że ich żywot jest tam bardzo krótki.
Panowie, to nie jest chyba najlepsze miejsce na osobistą wymianę “argumentów”…
Zgadzam się. EOT. Kolejne posty nie związane z tematem będą usuwane.
@ michuk Możesz, to usunąć. Wystarczy mi satysfakcja, że swoim postem potwierdziłeś, to co napisałem o adminach linuksowych. Zbaczanie z tematu jest wysoce szkodliwe, bo robi się śmietnik. Jednak gdy Tor napisał mi obraźliwy post o “zwichniętej psychice” nie zająknąłeś się, że zboczył z tematu, ani nie usunąłeś postu za to, że nie wnosił nic merytorycznego. Ja przynajmniej podzieliłem się wyszperanym linkiem. Widać bardziej drażni Cię merytoryczna obrona niż szyderczy trolling. Przykro mi. Mogłem napisać trollowi jego językiem, jednak liczyłem, że zwrócę uwagę na coś istotnego. Być może nawet istotniejszego niż komentowany klient SSH. Myliłem się.
Cóż, ludzie szanujący swoją godność w takich sytuacjach wychodzą.
Życzę sukcesów.
Proszę wszystkich o przeczytanie mojej wiadomości na forum: http://forum.jakilinux.org/viewtopic.php?p=5218#5218
W tym wątku już nie dyskutujmy na ten temat i powróćmy do tematu artykułu, czyli klienta SSH dla J2ME, który jest niewątpliwie ciekawym i pożytecznym narzędziem.
Mam pytanie, byłbym wdzieczny gdyby mi ktoś odpowiedział.
Czy nie widział ktoś może gdzieś klienta VPN w Javie na komórke (dokladnie sony ericcson).
pozdr
i dziekuje
Filip
Jak skonfigurować do ssh w komputerze bo ja nie mam zielonego pojecia. Uzywam linuksa od tygodnia. prosze o wyrozumiałość
wystarczy zainstalować pakiet openssh i włączyć (/etc/init.d/sshd start) i tyle
witam.
zainstalowałem midp i mam problem w ekg. mianowicie - nie wiem jak zastosować klawisze alt+2 , alt+3 , alt+k. jeśli ktoś mógłby mi pomóc - prosze o kontakt na maila - unbelievable.x@web.de
Możesz przecież użyć poleceń:
window switch n (gdzie n=1,2,3,4…)
oraz
window close
Witajcie.
Wspaniały opis, jednak mnie brakuje takiego małego FAQ o polskich warunkach telefonii komórkowych. Ja sam używam Heyah Wap i przy próbie nawiązania połączenia, po samym wydaniu zgody i przed wejściem do “konsolki” pojawia mi się błąd: “Writer: Error occured whilst opening connecion.”
Jak mówi oficjalny poradnik - This message can appear if you are using a WAP profile instead of an Internet one to connect. Sony Ericssony mają możliwość obejścia WAPu, ale ja posiadam Nokie 6030 i o ile dobrze wiem, w Heyah WAP jest jedynym sposobem na podłączenie się do internetu.
Czy ktoś z Was wie może, jak rozwiązać ten problem? Z góry dziękuję.
Witam!
Opis super!!! Tylko jest mały problem z Heyah:(Jak się łączymy to wyskauje taki tekst “Writer: Error occured whilst opening connecion”?????? I co zrobić??? Widze że już ktoś też o tym pisal….Jak ma ktoś pomysły to pisać!!!!
Z góry dziękuje!!!
Też miałem ten problem. Używasz profilu “WAP”, zamiast “Internet”
Jeśli macie problem z obsługą midp, bądź pogodzeniem go ze swoim telefonem, w pierwszej kolejności, jeśli umiecie j. angielski piszcie na Forum midp. Tam najszybciej uzyskacie odpowiedź na Wasze pytania. Jako, że sam posiadam tylko jeden telefon, a nikt mnie nie sponsoruje w testowaniu midpa nie jestem w stanie pomóc Wam z wszystkimi problemami które dostaje na maila, choć chętnie bym to zrobił.
mike: odkryłem źródło problemu. Musisz ustawić w telefonie Access Point na heyah.pl, hasło heyah i lohin heyah. Powinno to zlikwidować ten problem writera, jednak ja dalej nie mogę się zalogować - tym razem po kilku minutach czekania zwraca mi po prostu Error.
Polecam również tego klienta SSH
PuTTY for Symbian OS,
warunkiem instalacji jest posiadanie telefonu z symbianem S60v3, s60v2, s80v2
Ja mam jedno pytanie bo poprostu nie wiem jak zostawic sesje IRC np… z tego kijeta na komórce…