Есть ли какие-либо клиенты командной строки SSH для укоренившихся телефонов Android? -- ssh поле с участием command-line пол android Связанный проблема

Are there any command line SSH clients available for rooted Android phones?


24
vote

проблема

русский

Я конечно есть Connectbot, но я ищу что-то, что я могу скрипт.

Редактировать: Чтобы уточнить здесь, я не заинтересован в Whings сценариев из терминала. То, что я хочу сделать, это запустить команду ssh в автоматизированном / запланированном порядке. Tasker и Locale Execute являются эквивалентом CRON, все, что мне нужно, - это команда SSH 'для запуска от скрипт.

Английский оригинал

I of course have ConnectBot, but I'm looking for something I can script.

Edit: To clarify here, I'm not interested in running scripts from a terminal. What I want to do is run an SSH command in an automated/scheduled manner. Tasker and Locale Execute are the equivalent of cron, all I need is the 'ssh' command to run from the script.

     
 
 

Список ответов

12
 
vote
vote
Лучший ответ
 

Вы можете установить Эмулятор терминала из Google. В качестве альтернативы существует Лучший эмулятор терминала Pro . Я попробовал эмулятор терминала на нерусившемся телефоне, и казалось, работает нормально.

Лучший терминальный эмулятор Pro включает в себя Client ssh dropbear , который можно запустить из командная строка или через пусковую установку. Дополнительная информация от авторов .

 

You can install the Terminal Emulator from google. Alternatively there is the Better Terminal Emulator Pro. I tried the Terminal Emulator on a non-rooted phone and it seemed to work fine.

Better Terminal Emulator Pro includes the dropbear ssh client, which can be launched from the command line or via a launcher. More info from the authors.

 
 
         
         
17
 
vote

Поскольку мой оригинальный вопрос состоял в том, чтобы SSH Binary, и есть ответ для этого, я приму это ответом. Тем не менее, есть еще один способ сделать то, что я хотел сделать, вроде, что может быть интересно кому-то когда-нибудь день.

Tasker + Connectbot можно использовать для выполнения произвольных удаленных (или локальных, я думаю, но для этого файла locale лучше для этого) команды по расписанию.

Шаг 1: Установите соединение в ConnectBot.

    .
  • Вы можете иметь дублирующие соединения в Connectbot, пока они имеют разные псевдонимы. Вы должны переименовать один первый (вдали от пользователя @ host), чтобы создать вторую. Длинный Нажмите и выберите «Редактировать хост», чтобы выполнить эти изменения.
  • Вы, вероятно, хотите настроить клавишу SSH без пароля, чтобы вы могли использовать это для автоматизации.
  • После того, как соединение на самом деле работает, вы можете использовать «Automation Post-Ground», чтобы добавить удаленные команды, которые вы хотели бы запустить. Убедитесь, что в конце есть пустая строка, чтобы войти после вашей последней команды. Использовать ввод или; разделить команды. Я предлагаю использовать что-то вроде «Echo Hello» в качестве теста, пока вы не уверены, что все работают, и «выход» в конце, если вы не хотите оставить открытую соединение.
  • Проверьте это в изоляции.

Шаг 2: Создайте задачу Tasker, чтобы вызвать ConnectBot.

    .
  • Создайте новую задачу в Tasker.
  • добавить действие. От Разницы, выберите «Намерение действий»
  • поля:
      .
    • Действие: Android.intent.action.View
    • cat: по умолчанию
    • Данные: URL-адрес SSH, в виде «SSH: // User @ host / # псевдоним» (без кавычек). Псевдоним, пользователь и хост здесь должны соответствовать псевдониму, который вы установили на шаге 1.
    • цель: деятельность
    • Нажмите тест. Connectbot должен открыться, и ваши команды должны выполняться на удаленном хосте.

Шаг 3: Используйте эту задачу в Tasker, однако, что вы обычно.

 

Since my original question was about an ssh binary, and there is an answer for that, I'll accept that answer. However, there is another way to do what I wanted to do, kinda, that might be interesting to someone some day.

Tasker + ConnectBot can be used to execute arbitrary remote (or local, I guess, but Locale Execute is better for that) commands on a schedule.

Step 1: Set up your connection in ConnectBot.

  • You can have duplicate connections in ConnectBot as long as they have different aliases. You have to rename one first (away from user@host) in order to create the second. Long Press and select "Edit Host" to perform these changes.
  • You probably want to set up an ssh key without a password so that you can use this for automation.
  • Once the connection actually works, you can use "Post-login automation" to add the remote commands you would like to run. Make sure there is a blank line at the end so that enter is sent after your last command. Use enter or ; to separate commands. I suggest using something like "echo hello" as a test until you are sure things are working, and "exit" at the end if you don't want to leave the connection open.
  • Test this in isolation.

Step 2: Create a Tasker Task to call connectbot.

  • Create a new Task in Tasker.
  • Add an Action. From Misc, select "Action Intent"
  • The fields are:
    • Action: android.intent.action.VIEW
    • Cat: Default
    • Data: ssh url, in the form of "ssh://user@host/#alias" (without the quotes). The alias, user and host here must match the alias you set up in Step 1.
    • Target: Activity
    • Click Test. Connectbot should open and your commands should execute on the remote host.

Step 3: Use this Task in Tasker however you would normally.

 
 
     
     
5
 
vote

Я знаю, что это старая нить, но хотела +1 комментарий о BTEP

Я также использую BTEP SSH Binary, хотя я просто называю его от пути, а не связывать его /data/data/com.magicAndroidApps.bettertermpro/bin/ssh root@192.168.1.1

или генерировать пару клавиш и использовать аутентификацию открытого ключа /data/data/com.magicAndroidApps.bettertermpro/bin/ssh -i /data/data/com.magicandroidapps.bettertermpro/home/.ssh/id_rsa -l root 192.168.1.1

Я использую вышеуказанную команду из SL4A R4 в различных сценариях, и она работает нормально :)

Прежде чем я мог сделать это, мне нужно было chmod a + x /data/data/com.magicandroidapps.bettertermpro/home/.ssh

Как только это сделано, и вы резервируете / восстановите BTEP с Titaniumbackup, разрешения сохраняются, это означает, что если вы прошедшете новый ROM, вы можете просто восстановить приложения, и все ваши сценарии будут работать снова

 

I know it's an old thread but wanted to +1 the comment about BTEP

I'm also using BTEP's ssh binary though I just call it from it's path instead of linking it /data/data/com.magicandroidapps.bettertermpro/bin/ssh root@192.168.1.1

or generate a pair of keys and use public key authentication /data/data/com.magicandroidapps.bettertermpro/bin/ssh -i /data/data/com.magicandroidapps.bettertermpro/home/.ssh/id_rsa -l root 192.168.1.1

I use the above command from SL4A r4 in various scripts and it works fine :)

before I could do this I needed to chmod a+x /data/data/com.magicandroidapps.bettertermpro/home/.ssh

once this is done and you backup/restore BTEP with TitaniumBackup the permissions are kept this means if you flash a new rom you can just restore the apps and all your scripts will work again

 
 
5
 
vote

Я успешно использовал botbrew basil experiremental < / a> При запуске Android 4.4. BotBrew Basil Experire Excepericallent основан на APT-Get, поэтому после установки APK и Bootstraping я только что сделал <код> apt-get install dropbear в корневой оболочке для установки SSH-клиента (и сервера).

 

I have successfully used BotBrew Basil Experimental when running Android 4.4. BotBrew Basil Experimental is based on apt-get so after installing APK and bootstraping I just did apt-get install dropbear in a root shell to install SSH client (and server).

 
 
3
 
vote

Установите эмулятор терминала и QuickSsh. QuickSsh также включает в себя Dropbear. Не стоит вам денег, которые этого не должны, потому что это превышает просто, и он основан на Dropbear.

https://play.google.com/ Store / Apps / Детали? ID = berserker.android.apps.sshdroid

<Код> find -name ssh user @ host

проблема решена

 

Install terminal emulator and quickssh. Quickssh also includes dropbear. Does not cost you money, which it should not because this is surpassingly simple and it's based on dropbear.

https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid

find -name ssh user@host

Problem solved

 
 
 
 
2
 
vote

Эмулятор терминала абсолютно поддерживает скрипты *. Не верьте внутелю. Вам нужно будет изучать сценарию раковины Bash, если вы еще не знакомы с ним. Напишите скрипт и сохраните его на вашей SD-карте. Запустите его с «SH Filename» от срока.

Если вы уточните, что это за то, что вы хотите «скрипт», чтобы связаться с SSH, я могу дать вам лучшую рекомендацию.

* (это на самом деле ОС Android, которая поддерживает сценарии Bash, эмулятор терминала просто предоставляет вам доступ к оболочке Android, поэтому скрипты по своей природе возможны)

 

Terminal Emulator absolutely supports scripts*. Don't believe the nay-sayers. You will need to learn BASH shell scripting, if you're not already familiar with it. Write a script and save it on your SD card. Run it with "sh filename" from Term.

If you clarify what it is you want to "script" having to do with SSH, I can likely give you a better recommendation.

*(It's actually the Android OS that supports BASH scripts, Terminal Emulator just grants you access to the Android shell, therefore scripting is inherently possible)

 
 
   
   
2
 
vote

Чтобы позвонить SSH из скрипта, все, что вам нужно сделать, это настроить SSH-ключей. Есть миллион How-TOS в Интернете, но есть страница на цианогенном вики, которая может быть более подходящей для пользователей Android. Как только вы настроите клавиши, ваша команда General SSH будет выглядеть что-то подобное: SSH -I / Путь / к / ключевой пользователь @ IP

Вы можете поставить это в скрипте, запустите его, и вы войдете на удаленный компьютер.

Но вот что я думаю, вы хотите сделать. Чтобы выполнить только команду на удаленном компьютере, просто добавьте его в одиночные кавычки: SSH -I / Путь / к / ключевой пользовательской @ IP 'Command'

, который выполняет команду на удаленном компьютере, не входя в систему. Вы можете запустить команды с параметрами, трубами, перенаправлениями и т. Д., Но иногда лучше держать их простыми. За исключением задержки, он выглядит так же, как выполняет команду (ы) локально и можно использовать то же самое.

locale execute можно прививать о том, какие команды он будет работать. Если он не работает, попробуйте поместить его в скрипт и использование Locale Execute для запуска скрипта.

Также у меня были проблемы с бинарным с помощью SSH, который находится на телефоне и обнаружил, что перемещение его от / System / Xbin и создание ссылки на / system / xbin / ssh к лучшему эмулятору терминала SSH Binary более надежно. BTEP Binary находится в /data/data/com.magicAndroidApps.bettertermpro/bin/ssh

 

To call ssh from a script, all you need to do is set up ssh keys. There are a million how-tos on the web, but there's a page on the Cyanogen wiki that might be more suited to Android users. Once you set up keys, your general ssh command would look something like this: ssh -i /PATH/TO/KEY USER@IP

You can put that in a script, run it, and you will be logged in to the remote machine.

But here's what I think you're wanting to do. To only execute a command on a remote computer, just add it in single quotes: ssh -i /PATH/TO/KEY USER@IP 'command'

That executes the command on the remote machine without logging you in. You can run commands with options, pipes, redirects etc, but it's sometimes better to keep them simple. Except for the delay, it looks the same as executing the command(s) locally and can be used the same.

Locale Execute can be picky about what commands it will run. If it doesn't work, try putting it in a script and using Locale Execute to run the script.

Also, I have had problems with the ssh binary that is on the phone and found that moving it from /system/xbin and creating a link at /system/xbin/ssh to the Better Terminal Emulator ssh binary is more reliable. The BTEP binary is in /data/data/com.magicandroidapps.bettertermpro/bin/ssh

 
 
2
 
vote

Ботбит - это менеджер пакетов для Android, в том, как okpg Для BSD или совсем недавно, как <код> APT для Debian. Довольно мило. У него нет SSH-клиента в качестве пакета, но он не выглядит слишком сложно, чтобы поставить, если вы привыкли создавать свои собственные пакеты. И это может быть полезно в качестве набора инструментов, когда вы хотите создать другие двоичные файлы C / C ++ / ETC и библиотек.

Так хотя это не прямой ответ, может быть полезно для некоторых людей знать о.

 

Botbrew is a package manager for Android, in the likes of okpg for BSD or more recently, like APT for Debian. Pretty nice. It doesn't have an ssh client as a package, but it doesn't look too hard to put in if you're used to building your own packages. And it could be useful as a toolchain for when you want to build other C/C++/etc binaries and libraries.

So albeit this isn't a direct answer, it may be useful for some people to know about.

 
 
     
     
2
 
vote

Теперь есть терминал, называемый Termux, который вы можете установить openssh In. Доступно на Google Play Store , f-droid и github .

 

Now there is a terminal called Termux that you can apt install openssh in. Available on Google Play Store, F-Droid, and Github.

 
 
 
 
-1
 
vote

AntFTP может подключаться по любому порту, которое вы настраиваете, так что я уверен, что он может подключиться к SSH. Но я не уверен, насколько это легко сценарию использовать его. Я все время использую приложение для моего хостингового сервера, и он отлично работает.

Не уверены, можете ли вы SSH с эмулятором терминала, но вы можете попробовать это тоже. Я часто использую это приложение для того, чтобы делать вещи, мне лень делать с ADB.

 

AndFTP can connect over any port you configure so I'm sure it could connect over SSH. But I'm not sure how easy it is to script usage of it. I use the app myself all the time for my hosting server and it works great.

Not sure if you can SSH with Terminal Emulator, but you could try it too. I use that app frequently for doing things I'm too lazy to do with ADB.

 
 
   
   
-1
 
vote

Используйте плагин SSH для Passer? Не требуйте корневой или SSH Binary.

 

Use an ssh plugin for Tasker? Don't need root or ssh binary then.

 
 
   
   
-3
 
vote

Если для вас интересно простое SSH, я сделан под Android-NDK Bionic Library Drobpear-SSH-Client-Client. ftp://ftp.simtreas.ru/pub/my/dropbear /dropbear-ssh-only.tgz . Sourse и ftp://ftp.simtreas.ru/pub/my/dropbear/ssh Бинар

 

If the simple ssh client is interesting to you, I made under Android-NDK Bionic library 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

 
 
 
 

Связанный проблема

1  Как я могу исследовать использование памяти?  ( How do i investigate the memory usage ) 
У меня Micromax A74 с (укоренившись) Android 4.2.2. Недавно я столкнулся с разбивкой некоторого приложения и начал анализировать использование оперативной пам...

9  Как найти путь к раздеванию подкачки на SD-карте?  ( How to find the pathname of the swap partition on sd card ) 
как Это < / a> предупреждает, вы не должны включать совместное помещение по неправильному разделу, или вы можете уничтожить свой телефон: ОК, прежде чем м...

1  Можно ли установить «IPROUTE2» на Android?  ( Is it possible to install iproute2 on android ) 
Я пытался использовать <код> git clone на странице Googlesource, но это не делало много. Я хочу использовать команду <код> ss из пакета, но я не знаю, как у...

0  Как исправить «Mount:« RemOnt »-> '/ System': нет такого файла или каталога"?  ( How to fix mount remount system no such file or directory ) 
<код> angler:/ # mount -o rw, remount /system mount: 'remount'->'/system': No such file or directory 1|angler:/ # Когда я попробую в Kali Linux на моем те...

3  Как я могу отображать сообщение из `adb shell` (или скрипт оболочки)?  ( How do i display message from from adb shell or a shell script ) 
Я ожидаю, что это будет что-то вроде <код> adb shell am start SomethingArcane ... "Hello, world" и окно сообщения всплывает на экране, говоря "Hello, Wo...

15  Почему я не могу получить root-доступ от Shell?  ( Why cant i get root access from shell ) 
<код> > adb shell sh-4.1$ su Permission denied У меня успешно укоренился мой телефон. Я знаю это, потому что я могу установить приложения на SD-карту, и у...

4  Как я могу установить WPA_CLI на укоретенном устройстве?  ( How can i install wpa cli on my rooted device ) 
Я укоренился с моим устройством, затем я иду в adb shell и type su для ввода wpa_cli. Я был удивлен, что WPA_CLI: не найден, хотя я получаю информацию, когда ...

24  Есть ли какие-либо клиенты командной строки SSH для укоренившихся телефонов Android?  ( Are there any command line ssh clients available for rooted android phones ) 
Я конечно есть Connectbot, но я ищу что-то, что я могу скрипт. Редактировать: Чтобы уточнить здесь, я не заинтересован в Whings сценариев из терминала. То...

7  Как изменить «Предпочитаемый сетевой режим», используя ADB без перезагрузки?  ( How to change preferred network mode using adb without reboot ) 
Я пытаюсь изменить свой телефон (CM 12, на складе 4.2, как укоренившись) Предпочтительный режим сети из «GSM / WCDMA» (0), чтобы «WCDMA только» (2) и наоборот...

6  Утилиты с беторебью  ( Rootless cli utilities ) 
Должен ли я корнить мое устройство Android для установки утилитов командной строки? Мне бы очень хотелось запустить vim , среди других программ на моем телеф...

0  Требуется ли XPosed Framework для устройства или просто версии Android?  ( Does xposed framework require to be buillt specifically for the device or just t ) 
При установке Xposed Framework. Мне нужна утечный бинарный (например, пользовательское восстановление или ROM) или просто приложение, которое работает для And...

0  Делать исполняемые файлы в Gnuroot  ( Making executable files in gnuroot ) 
Я недавно установил GnuRoot Debian, и мне действительно нравится иметь Bash на моем телефоне и доступе к обширному репозитории для различных других программ G...

2  wpa_cli не найден на укоретенном устройстве? [Дубликат]  ( Wpa cli not found on rooted device ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

24  Можно ли активировать настройку Android «USB Tatering» из командной строки?  ( Is it possible to activate the usb tethering android setting from the command ) 
Я хотел бы активировать «USB-привязку» из скрипта Bash, поэтому есть ли возможность запустить командную строку с помощью adb shell , чтобы изменить некоторые...

3  Установите Split APK вручную  ( Install split apk manually ) 
В последнее время я узнал что-то под названием «Сплит APK» и нашел ломтики как недопустимые файлы APK, только база. К сожалению, это означает, что обычный уста...

7  Как звонить из консоли?  ( How to call from console ) 
Как сделать или получить звонок из консоли? Ожидание чего-то вроде этого, Unix-стиль: <код> make_call +3750291234567 < played_data.wav > recorded_data.wav...

3  В чем разница между Fastboot OEM Unlock и Fastboot OEM Unlock-Go?  ( What is the difference between fastboot oem unlock and fastboot oem unlock go ) 
У меня есть проблемы с разблокировкой Bootloader My Nexus 7 2013 WiFi, и было предложено попробовать <код> fastboot oem unlock-go вместо fastboot oem unlock...

3  Как установить пачки дополнительных команд терминалов для укоренившихся устройств?  ( How to install bundles of additional terminal commands for rooted devices ) 
Я недавно уконул устройство HTC Wildfire S и вспыхнул Android 4.1.2 Aokp Jelly Bean Custom Custom Custom. Одно извлечение в том, что я могу использовать терми...

-2  Android командной строки оболочки  ( Android command line shell ) 
У меня есть Nokia X Runing Android 4.4.4, и у меня есть эмулятор терминала и установлен Anybox 1.24, но я все еще не могу найти некоторые полезные команды для...

13  Настоящий терминал (root или no-root)  ( A real terminal root or no root ) 
Я использую Kubuntu на моем ноутбуке, но это идет для любого IDRE Linux. Я могу открыть окно терминала и ввести вещи, такие как <код> sudo apt-get update , <к...

26  PM Hide VS PM отключить - кризис личности  ( Pm hide vs pm disable the identity crisis ) 
Что такое необходимость <код> pm disable Когда <код> pm hide уже работает? Я скомпилировал некоторую информацию на основе моего поиска и исследований: наж...

2  NGROK (скомпилирован для ARM5) Crash на Android: не могу найти файлы дампы ядра!  ( Ngrok compiled for arm5 crash on android cant find core dump files ) 
Я скачал NGROK, который я хочу установить на старый HTC Hero [проект - это преобразовать телефон в IPCAM, достижимый за сетью NAT], поэтому я выбрал версию, с...

1  NetCat прослушивание Nexus 4, похоже, не отвечает  ( Netcat listening on nexus 4 doesnt seem to respond ) 
У меня есть Nexus 4 на моей сети WiFi вместе с ноутбуком. Я хотел бы установить соединение с помощью NetCat с моего ноутбука на мой телефон. на моем телефон...

64  Есть ли минимальная установка ADB?  ( Is there a minimal installation of adb ) 
Когда дело доходит до Устранение неполадок , я часто Читайте рекомендации, такие как «Использовать <код> adb logcat , чтобы найти более подробную информацию»...

3  Где я должен установить Toybox?  ( Where should i install toybox ) 
У меня есть укорененный ретранслятор Samsung Galaxy S 4G android 4.1.2. Если у вас есть Android 6.0 "зефир" или лучше, то у вас есть Toybox . Это пакет ком...

Связанный проблема

1  Как я могу исследовать использование памяти? 
9  Как найти путь к раздеванию подкачки на SD-карте? 
1  Можно ли установить «IPROUTE2» на Android? 
0  Как исправить «Mount:« RemOnt »-> '/ System': нет такого файла или каталога"? 
3  Как я могу отображать сообщение из `adb shell` (или скрипт оболочки)? 
15  Почему я не могу получить root-доступ от Shell? 
4  Как я могу установить WPA_CLI на укоретенном устройстве? 
24  Есть ли какие-либо клиенты командной строки SSH для укоренившихся телефонов Android? 
7  Как изменить «Предпочитаемый сетевой режим», используя ADB без перезагрузки? 
6  Утилиты с беторебью 
0  Требуется ли XPosed Framework для устройства или просто версии Android? 
0  Делать исполняемые файлы в Gnuroot 
2  wpa_cli не найден на укоретенном устройстве? [Дубликат] 
24  Можно ли активировать настройку Android «USB Tatering» из командной строки? 
3  Установите Split APK вручную 
7  Как звонить из консоли? 
3  В чем разница между Fastboot OEM Unlock и Fastboot OEM Unlock-Go? 
3  Как установить пачки дополнительных команд терминалов для укоренившихся устройств? 
-2  Android командной строки оболочки 
13  Настоящий терминал (root или no-root) 
26  PM Hide VS PM отключить - кризис личности 
2  NGROK (скомпилирован для ARM5) Crash на Android: не могу найти файлы дампы ядра! 
1  NetCat прослушивание Nexus 4, похоже, не отвечает 
64  Есть ли минимальная установка ADB? 
3  Где я должен установить Toybox?