Serwer SSH na Androidzie - zdalne sterowanie zielonym robotem

Wykorzystanie serwera SSH działającego na komórce, tablecie, czy androidowym donglu TV

Poprzez SSH dość często logujemy się na serwer. Można to samo zrobić na urządzeniu działającym pod kontrolą Androida. Smartfony, tablety, czy dongle HDMI po zainstalowaniu z Google Play odpowiedniej aplikacji mogą uruchomić serwer SSH i pozwalać logować się poprzez SSH czy to na roota (zrootowane urządzenia), czy na użytkownika. Po zalogowaniu się możemy nieco pobuszować po systemie, uruchamiać aplikację, czy przesyłać dane poprzez SFTP. Zobaczmy więc co i jak z SSH na Androidzie.

Serwer SSH na Androidzie

Aplikacji zapewniających serwer SSH na Androidzie jest wiele, np SSHDroid (wykorzystany w tym artykule), SSH Server, czy Ssh server itd. Nie wszystkie wymagają roota - wtedy po prostu będzie można logować się na zwykłego użytkownika bez uprawnień roota.

W przypadku SSHDroida uruchomienie serwera jest bardzo proste:

Przewodnik po SSHDroid

Przy pierwszym uruchomieniu przywita nas przewodnik po SSHDroid

Prośba o przyznanie uprawnień roota

Aplikacja może poprosić o uprawnienia roota

Serwer SSH gotowy do przyjmowania połączeń

Na koniec dostajemy login i adres IP w wewnętrznej sieci do jakiej urządzenie jest podłączone

Domyślne hasło to "admin" o czym serwer nas poinformuje przy próbie logowania poprzez SSH. Oprócz tego możemy używać np. SFTP do przesyłania plików.

Sesja SFTP z Androidem

Połączenie SFTP pozwala zarządzać plikami poprzez sieć

Android z konsoli

Po zalogowaniu się na urządzenie dostajemy powłokę Basha i możemy korzystać z typowych konsolowych aplikacji (np. top, free, df i inne). Do dyspozycji mamy też narzędzia takie jak adb oraz am.

Możemy np. uruchomić aplikację o ile znamy jej nazwę i nazwę intencji, którą chcemy wywołać. Polecenie ma postać:

am start -a android.intent.action.VIEW -n APLIKACJA/INTENCJA.
Otwarcie przeglądarki i załadowanie podanej strony:
am start -a android.intent.action.VIEW -n com.android.chrome/.Main -d http://www.rk.edu.pl
Otwarcie ustawień:
am start -a android.intent.action.VIEW -n com.android.settings/.Settings

Nazwę aplikacji można pozyskać z jej opisu, natomiast listę intencji pozyskać jest znacznie trudniej. Albo będą one w publicznej dokumentacji pakietu, albo trzeba będzie grzebać w APK aplikacji (jedna z metod opisana jest na blogu wrla.ch).

Python z konsoli

SL4A, czyli scripting languages for Android obejmują Pythona - czy to z pakiety Py4A, czy QPython. Za pomocą bardzo długich komend można co nieco odpalać z konsoli:

am start -a com.googlecode.android_scripting.action.LAUNCH_BACKGROUND_SCRIPT -n com.googlecode.android_scripting/.activity.ScriptingLayerServiceLauncher -e com.googlecode.android_scripting.extra.SCRIPT_PATH /sdcard/sl4a/scripts/hello_world.py

Więcej na code.google.com/p/android-scripting/.

blog comments powered by Disqus

Kategorie

Strony