Existe-t-il des clients SSH de ligne de commande disponibles pour les téléphones Android enracinés? -- ssh domaine et command-line domain android en relation problème

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



24
vote

problème

français

i Bien sûr, j'ai ConnectBot, mais je cherche quelque chose que je peux script.

Edit: Pour clarifier ici, je ne suis pas intéressé par exécutant les scripts d'un terminal. Ce que je veux faire, c'est exécuter une commande ssh de manière automatisée / planifiée. Tasker et Locale Exécutent sont l'équivalent de cron, tout ce dont j'ai besoin est la commande 'SSH' pour exécuter de le script.

langue Anglaise

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.

     
 
 

Liste de réponses

12
 
vote
vote
Meilleure réponse
 

Vous pouvez installer le Emulateur de terminal de Google. Sinon, il y a le Meilleur émulateur terminal Pro . J'ai essayé l'émulateur du terminal sur un téléphone non enraciné et cela semblait bien fonctionner.

Le meilleur terminal Emulator Pro comprend le Dropbear SSH Client , qui peut être lancé à partir de la ligne de commande ou via un lanceur. Plus d'infos des auteurs .

 

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

Étant donné que ma question initiale était sur un binaire SSH, et il y a une réponse pour cela, j'accepterai cette réponse. Cependant, il y a une autre façon de faire ce que je voulais faire, un peu, qui pourrait être intéressant pour quelqu'un un jour.

Tasker + ConnectBot peut être utilisé pour exécuter une télécommande arbitraire (ou locale, je suppose, mais les paramètres régionaux exécutés sont meilleurs pour cela) des commandes sur un calendrier.

Étape 1: Configurez votre connexion dans ConnectBot.

  • Vous pouvez avoir des connexions en double dans ConnectBot, tant qu'ils ont des alias différents. Vous devez renommer un premier (loin de l'utilisateur @ hôte) afin de créer la seconde. Appuyez longuement sur et sélectionnez «Modifier l'hôte» pour effectuer ces modifications.
  • Vous voulez probablement configurer une clé SSH sans mot de passe afin que vous puissiez l'utiliser pour l'automatisation.
  • Une fois la connexion fonctionne réellement, vous pouvez utiliser "Automation post-connexion" pour ajouter les commandes distantes que vous souhaitez exécuter. Assurez-vous qu'il existe une ligne vide à la fin de sorte que l'entrée soit envoyée après votre dernière commande. Utilisez Entrée ou; pour séparer les commandes. Je suggère d'utiliser quelque chose comme "Echo Hello" comme test jusqu'à ce que vous soyez sûr que les choses fonctionnent et "quittent" à la fin si vous ne voulez pas quitter la connexion ouverte.
  • Testez ceci isolément.

Étape 2: Créez une tâche de réservoir pour appeler ConnectBot.

  • créer une nouvelle tâche dans le groupe de travail.
  • Ajouter une action. De misc, sélectionnez "Intention d'action"
  • Les champs sont:
    • Action: Android.Intent.Action.View
    • CAT: Par défaut
    • Data: URL SSH, sous la forme de "SSH: // utilisateur @ host / # alias" (sans les citations). L'alias, l'utilisateur et l'hôte ici doivent correspondre à l'alias que vous avez configuré à l'étape 1.
    • Target: Activité
    • Cliquez sur Test. ConnectBot doit ouvrir et vos commandes doivent exécuter sur l'hôte distant.

Étape 3: Utilisez cette tâche dans le réservoir, mais vous seriez normalement.

 

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

Je sais que c'est un vieux fil mais je voulais +1 le commentaire sur BTEP

J'utilise également BTEP's SSH binary bien que je viens de l'appeler de son chemin au lieu de le lier /data/data/com.magicandroidapps.bettertermpro/bin/ssh root@192.168.1.1

ou générer une paire de clés et utiliser l'authentification de clé publique /data/data/com.magicandroidapps.bettertermpro/bin/ssh -i /data/data/com.magicandroidapps.bettertermpro/home/.ssh/id_rsa -l racine 192.168.1.1

J'utilise la commande ci-dessus de SL4A R4 dans divers scripts et ça marche bien :)

Avant de pouvoir faire cela, j'avais besoin de chmod A + x /data/data/com.magicandroidApps.bettertermpro/home/.ssh

Une fois que cela est fait et que vous sauvegardez / restaurer BTEP avec titaneumbackup Les autorisations sont conservées. Cela signifie que si vous clignotez une nouvelle ROM, vous pouvez simplement restaurer les applications et tous vos scripts fonctionneront à nouveau

 

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

J'ai utilisé avec succès Bottédraw Basil Expérimental < / a> lors de l'exécution d'Android 4.4. Bottebrew Basilic Expérimental est basé sur APT-Get Ainsi, après avoir installé APK et Bootstraping, je viens de faire apt-get install dropbear dans une coquille racine pour installer SSH Client (et Server).

 

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

Installer l'émulateur de terminal et QuicksSH. QuicksSH inclut également Droppear. Ne vous coûte pas de l'argent, ce qui ne devrait pas parce que cela est dépassant de manière simple et qu'elle repose sur Droppear.

https://play.google.com/ magasin / applications / détails? id = berserker.android.appshdroid

find -name ssh utilisateur @ hôte

problème résolu

 

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

L'émulateur de terminal prend absolument soutiendra les scripts *. Ne croyez pas les Sayers Nay. Vous devrez apprendre les scripts de Shell Bash, si vous ne le connaissez pas déjà. Écrivez un script et enregistrez-le sur votre carte SD. Lancez-le avec "sh FileName" du terme.

Si vous clarifiez ce que vous voulez faire "script" avec SSH, je peux probablement vous donner une meilleure recommandation.

* (C'est en fait l'OS Android qui prend en charge les scripts Bash, l'émulateur de terminal vous accède simplement à l'accès à la coque Android, donc script est intrinsèquement possible)

 

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

Appeler SSH à partir d'un script, tout ce que vous avez à faire est de configurer les touches SSH. Il y a un million de how-tos sur le Web, mais il existe une page sur le Wiki Cyanogen qui pourrait être plus adapté aux utilisateurs Android. Une fois que vous avez configuré les clés, votre commande General SSH ressemblerait à ceci comme suit: SSH -I / PATH / TO / KEY User @ IP

Vous pouvez le mettre dans un script, l'exécuter et vous serez connecté à la machine distante.

Mais voici ce que je pense que vous voulez faire. Pour exécuter une commande sur un ordinateur distant, ajoutez-le simplement dans des guillemets simples: SSH -I / chemin / à / à la touche User @ IP 'Commande'

qui exécute la commande sur la machine distante sans vous connecter. Vous pouvez exécuter des commandes avec des options, des tuyaux, des redirections, etc., mais il est parfois préférable de les garder simples. Sauf pour le retard, il a l'air identique à l'exécution de la commande localement et peut être utilisée de la même manière.

Locale Exécuter peut être difficile sur les commandes qu'il va courir. Si cela ne fonctionne pas, essayez de le mettre dans un script et d'utiliser la locale exécutée pour exécuter le script.

En outre, j'ai eu des problèmes avec le binaire SSH qui se trouve sur le téléphone et que vous avez constaté que le déplacer de / System / Xbin et créer un lien AT / System / Xbin / SSH au meilleur terminal SSH Binary Binary est plus fiable. Le binaire BTEP est dans /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

Bottbrew est un gestionnaire de packages pour Android, dans les goûts de okpg Pour BSD ou plus récemment, comme APT pour Debian. Pas mal. Il n'a pas de client SSH en tant que package, mais cela n'a pas l'air trop difficile de mettre en place si vous êtes habitué à la construction de vos propres forfaits. Et cela pourrait être utile comme une boîte à outils pour que vous souhaitiez construire d'autres fichiers binaires et bibliothèques C / C ++ / etc.

Alors, bien que ce n'est pas une réponse directe, il peut être utile que certaines personnes connaissent.

 

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

Maintenant, il y a un terminal appelé Termux que vous pouvez installer opensh in. Disponible sur Google Play Store , F-droid et 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

andftp peut se connecter sur n'importe quel port que vous configurez, donc je suis sûr qu'il pourrait se connecter sur ssh. Mais je ne suis pas sûr de la facilité d'utilisation de script. J'utilise moi-même l'application tout le temps pour mon serveur d'hébergement et cela fonctionne bien.

Je ne sais pas si vous pouvez ssh avec émulateur de terminal, mais vous pourriez l'essayer aussi. J'utilise cette application fréquemment pour faire des choses je suis trop paresseuse à faire avec 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

Utilisez un plugin SSH pour le groupe de travail? Ne pas avoir besoin de racine ni de binaire SSH alors.

 

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

 
 
   
   
-3
 
vote

Si le simple client SSH est intéressant pour vous, j'ai fait sous Android-NDK Bionic Bibliothèque Drobpear-SSH-Client uniquement. FP://ftp.simtreas.ru/pub/my/dropbear /dropbear-ssh-only.tgz Sourse et ftp://ftp.simtreas.ru/pub/my/dropbear/ssh binaire

 

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

 
 
 
 

Questions connexes

24  Est-il possible d'activer le paramètre Android "USB Tethering" de la ligne de commande?  ( Is it possible to activate the usb tethering android setting from the command ) 
J'aimerais activer "Téléparation USB" à partir d'un script Bash, il y a donc une possibilité d'exécuter une ligne de commande avec adb shell pour modifier c...

24  Existe-t-il des clients SSH de ligne de commande disponibles pour les téléphones Android enracinés?  ( Are there any command line ssh clients available for rooted android phones ) 
i Bien sûr, j'ai ConnectBot, mais je cherche quelque chose que je peux script. Edit: Pour clarifier ici, je ne suis pas intéressé par exécutant les scripts...

3  Installer manuellement Split APK  ( Install split apk manually ) 
Récemment, j'ai eu connaissance d'une chose appelée Split APKS, et j'ai trouvé les tranches comme des fichiers APK non valides, seule la base est. Malheureuse...

3  Comment installer des ensembles de commandes terminales supplémentaires pour les périphériques enracinés?  ( How to install bundles of additional terminal commands for rooted devices ) 
J'ai récemment enraciné un appareil HTC Wildfire S et a clignoté une ROM personnalisée Android 4.1.2 Aokp Jelly Bean. Un avantage est que je peux utiliser le ...

7  Comment changer "Mode de réseau préféré" en utilisant adb sans redémarrer?  ( How to change preferred network mode using adb without reboot ) 
J'essaie de changer de téléphone de mon téléphone (CM 12, Stock 4.2, à la fois enracinée Mode de réseau préféré de "GSM / WCDMA" (0) à "WCDMA uniquement" (2) ...

9  Comment trouver le chemin de la partition Swap sur la carte SD?  ( How to find the pathname of the swap partition on sd card ) 
comme Ceci < / a> avertit, vous ne devez pas activer le swap sur la mauvaise partition ou vous pouvez détruire votre téléphone: OK avant d'aller plus loin...

3  Où devrais-je installer Toybox?  ( Where should i install toybox ) 
Je possède un relais de Samsung Galaxy S enraciné 4G en cours d'exécution Android 4.1.2. Si vous avez Android 6.0 "guimauve" ou mieux, vous avez Toybox . I...

1  Comment puis-je enquêter sur l'utilisation de la mémoire?  ( How do i investigate the memory usage ) 
J'ai un micromax A74 avec (enraciné) Android 4.2.2. Récemment, j'ai rencontré le crash de certaines applications et j'ai commencé à analyser l'utilisation de ...

0  Comment réparer "Mont:" Remonter "-> '/ System': aucun fichier ou répertoire de ce type"?  ( 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:/ # Quand j'essaie à Kali Linux dans mon téléphon...

1  Est-il possible d'installer "iproute2" sur Android?  ( Is it possible to install iproute2 on android ) 
J'ai essayé d'utiliser git clone dans la page de Googlesource, mais cela n'a pas fait grand chose. Je souhaite utiliser la commande 9988777661 de l'emball...




© 2022 www.demandez.top All Rights Reserved. Questions et réponses Accueil Tous les droits sont réservés