Oczywiście mam ConnectBota, ale szukam czegoś, co mogę napisać.
Edycja: Aby to wyjaśnić, nie jestem zainteresowany uruchamianiem skryptów z terminala. Chcę wykonać polecenie SSH w sposób automatyczny / zaplanowany. Tasker i Locale Execute są odpowiednikiem crona, wszystko czego potrzebuję to polecenie „ssh” do uruchomienia ze skryptu.
ssh
command-line
DRZEWO
źródło
źródło
Odpowiedzi:
Możesz zainstalować emulator terminala z Google. Alternatywnie jest Better Terminal Emulator Pro . Wypróbowałem emulator terminala na nierootowanym telefonie i wydawało się, że działa dobrze.
Better Terminal Emulator Pro zawiera klienta ssh dropbear , który można uruchomić z wiersza poleceń lub za pomocą programu uruchamiającego. Więcej informacji od autorów .
źródło
Ponieważ moje pierwotne pytanie dotyczyło pliku binarnego ssh i istnieje na to odpowiedź, zaakceptuję tę odpowiedź. Istnieje jednak inny sposób na zrobienie tego, co chciałem, co może być dla kogoś interesujące.
Tasker + ConnectBot może służyć do wykonywania dowolnych zdalnych (lub lokalnych, jak sądzę, ale lepiej do tego Locale Execute) zgodnie z harmonogramem.
Krok 1: Skonfiguruj połączenie w ConnectBot.
Krok 2: Utwórz zadanie Taskera, aby wywołać connectbot.
Krok 3: Użyj tego zadania w Tasker, jak zwykle.
źródło
Wiem, że to stary wątek, ale chciałem dać +1 komentarzowi na temat BTEP
Używam również pliku binarnego ssh BTEP, ale po prostu wywołuję go z jego ścieżki zamiast linkować /data/data/com.magicandroidapps.bettertermpro/bin/ssh [email protected]
lub wygeneruj parę kluczy i użyj uwierzytelnienia klucza publicznego /data/data/com.magicandroidapps.bettertermpro/bin/ssh -i /data/data/com.magicandroidapps.bettertermpro/home/.ssh/id_rsa -l root 192.168.1.1
Używam powyższego polecenia z SL4A r4 w różnych skryptach i działa dobrze :)
zanim mogłem to zrobić, musiałem chmod a + x /data/data/com.magicandroidapps.bettertermpro/home/.ssh
gdy to zrobisz i wykonasz kopię zapasową / przywrócisz BTEP za pomocą TitaniumBackup, uprawnienia zostaną zachowane, co oznacza, że jeśli sflashujesz nowy ROM, możesz po prostu przywrócić aplikacje i wszystkie skrypty będą działać ponownie
źródło
Z powodzeniem korzystałem z BotBrew Basil Experimental podczas pracy z Androidem 4.4. BotBrew Basil Experimental jest oparty na apt-get, więc po zainstalowaniu APK i bootstrapowaniu zrobiłem właśnie
apt-get install dropbear
w powłoce root, aby zainstalować klienta SSH (i serwer).źródło
Zainstaluj emulator terminala i Quickssh. Quickssh zawiera również dropbear. Nie kosztuje cię pieniędzy, co nie powinno, ponieważ jest to niezwykle proste i oparte na dropbear.
https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid
find -name ssh
użytkownik @ hostProblem rozwiązany
źródło
Terminal Emulator absolutnie obsługuje skrypty *. Nie wierz tym, którzy nie mówią. Będziesz musiał nauczyć się skryptowania powłoki BASH, jeśli jeszcze go nie znasz. Napisz skrypt i zapisz go na karcie SD. Uruchom go z „sh filename” z Term.
Jeśli wyjaśnisz, co chcesz „skryptować” w związku z SSH, prawdopodobnie dam ci lepszą rekomendację.
* (Właściwie to system operacyjny Android obsługuje skrypty BASH, emulator terminala po prostu zapewnia dostęp do powłoki Androida, dlatego skrypty są z natury możliwe)
źródło
Aby wywołać ssh ze skryptu, wystarczy skonfigurować klucze ssh. W Internecie znajduje się milion poradników, ale na wiki Cyanogen znajduje się strona, która może być bardziej odpowiednia dla użytkowników Androida. Po skonfigurowaniu kluczy ogólne polecenie ssh wyglądałoby mniej więcej tak: ssh -i / PATH / TO / KEY USER @ IP
Możesz umieścić to w skrypcie, uruchomić, a będziesz zalogowany na zdalnym komputerze.
Ale oto, co myślę, że chcesz zrobić. Aby wykonać polecenie tylko na komputerze zdalnym, po prostu dodaj je w cudzysłowie: ssh -i / PATH / TO / KEY USER @ IP 'command'
Spowoduje to wykonanie polecenia na zdalnym komputerze bez zalogowania się. Możesz uruchamiać polecenia z opcjami, potokami, przekierowaniami itp., Ale czasem lepiej jest zachować ich prostotę. Z wyjątkiem opóźnienia wygląda to tak samo jak lokalne wykonywanie poleceń i może być używane w ten sam sposób.
Wykonywanie ustawień regionalnych może być wybredne, jeśli chodzi o to, jakie polecenia uruchomi. Jeśli to nie działa, spróbuj umieścić go w skrypcie i uruchomić go przy użyciu Locale Execute.
Miałem też problemy z plikiem binarnym ssh, który jest w telefonie, i odkryłem, że przeniesienie go z / system / xbin i utworzenie łącza w / system / xbin / ssh do pliku binarnego ssh Better Terminal Emulator jest bardziej niezawodne. Plik binarny BTEP znajduje się w /data/data/com.magicandroidapps.bettertermpro/bin/ssh
źródło
Botbrew to menedżer pakietów dla systemu Android, na przykład
okpg
dla BSD lub od niedawna, na przykładAPT
dla Debiana. Nieźle. Nie ma klienta ssh jako pakietu, ale nie jest zbyt trudne do zainstalowania, jeśli jesteś przyzwyczajony do budowania własnych pakietów. I może być przydatny jako zestaw narzędzi do tworzenia innych plików binarnych i bibliotek C / C ++ / etc.Chociaż nie jest to bezpośrednia odpowiedź, może być przydatna dla niektórych osób.
źródło
Teraz jest terminal o nazwie Termux, który można zainstalować w opensh. Dostępny w sklepie Google Play , F-Droid i Github .
źródło
AndFTP może łączyć się przez dowolny skonfigurowany port, więc jestem pewien, że może łączyć się przez SSH. Ale nie jestem pewien, jak łatwo jest użyć tego skryptu. Sam używam aplikacji przez cały czas na moim serwerze hostingowym i działa świetnie.
Nie jestem pewien, czy możesz SSH z emulatorem terminalu, ale możesz też spróbować. Często używam tej aplikacji do robienia rzeczy, których jestem zbyt leniwy, aby robić z ADB.
źródło
Używasz wtyczki ssh do Taskera? Nie potrzebuję binarnego roota ani ssh.
źródło
Jeśli interesuje Cię prosty klient ssh, stworzyłem pod bibliotekę Bionic dla Androida-NDK drobpear-ssh-client-only. ftp://ftp.simtreas.ru/pub/my/dropbear/dropbear-ssh-only.tgz sourse and ftp://ftp.simtreas.ru/pub/my/dropbear/ssh binary
źródło