25 votes

Existe-t-il des clients SSH en ligne de commande disponibles pour les téléphones Android enracinés ?

J'ai bien sûr ConnectBot, mais je cherche quelque chose que je puisse scripter.

Edit : Pour clarifier ici, je ne suis pas intéressé par en cours d'exécution scripts à partir 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 Execute sont l'équivalent de cron. Tout ce dont j'ai besoin, c'est de la commande 'ssh' à exécuter. de le script.

0 votes

Pour la scriptabilité, j'ai l'intention d'utiliser Tasker, soit directement, soit par l'intermédiaire du Locale Execute Plug-In. appbrain.com/app/de.elmicha.app.LocaleExecute

2voto

vitorhsb Points 247

Terminal Emulator supporte absolument les scripts*. Ne croyez pas les rabat-joie. Vous devrez apprendre les scripts shell BASH, si vous n'êtes pas déjà familiarisé avec eux. Écrivez un script et enregistrez-le sur votre carte SD. Exécutez-le avec "sh filename" depuis Term.

Si vous précisez ce que vous voulez faire comme "script" en rapport avec SSH, je pourrai probablement vous donner une meilleure recommandation.

*(C'est en fait le système d'exploitation Android qui prend en charge les scripts BASH, l'émulateur de terminal vous permet simplement d'accéder à l'interpréteur de commandes Android, ce qui rend les scripts intrinsèquement possibles).

0 votes

Mise à jour de la question. Je ne veux pas appeler des scripts avec ssh, je veux appeler ssh depuis un script.

0 votes

C'est exactement ce que je voulais dire. Encore une fois, si vous voulez donner des précisions, je pourrai vous aider davantage.

2voto

Pour appeler ssh depuis un script, il suffit de configurer les clés ssh. Il existe un million de tutoriels sur le web, mais il y a une page sur le wiki de Cyanogen qui pourrait être plus adaptée aux utilisateurs d'Android. Une fois les clés configurées, votre commande ssh générale ressemblera à ceci : ssh -i /PATH/TO/KEY USER@IP

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

Mais voici ce que je pense que vous voulez faire. Pour n'exécuter une commande que sur un ordinateur distant, il suffit de l'ajouter entre guillemets : ssh -i /PATH/TO/KEY USER@IP 'command'.

Cela 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 rester simple. À l'exception du délai, cela ressemble à l'exécution de la ou des commandes localement et peut être utilisé de la même manière.

Locale Execute peut être pointilleux sur les commandes qu'il exécute. Si cela ne fonctionne pas, essayez de le mettre dans un script et d'utiliser Locale Execute pour exécuter le script.

De plus, j'ai eu des problèmes avec le binaire ssh qui est sur le téléphone et j'ai trouvé que le déplacer de /system/xbin et créer un lien à /system/xbin/ssh vers le binaire ssh de Better Terminal Emulator est plus fiable. Le binaire BTEP se trouve dans /data/data/com.magicandroidapps.bettertermpro/bin/ssh

2voto

Ehtesh Choudhury Points 327

Botbrew est un gestionnaire de paquets pour Android, à l'instar de okpg pour BSD ou plus récemment, comme APT pour Debian. C'est plutôt bien. Il n'a pas de client ssh en tant que paquet, mais il ne semble pas trop difficile à mettre en place si vous avez l'habitude de construire vos propres paquets. Et il pourrait être utile comme chaîne d'outils pour construire d'autres binaires et bibliothÃ?ques C/C++/etc.

Bien que ce ne soit pas une réponse directe, il peut être utile pour certaines personnes de le savoir.

0 votes

C'est une bonne chose. Il est aussi dans le play store : play.google.com/store/apps/details?id=com.inportb.botbrew

0 votes

Malheureusement, il semble que botbrew.com soit en panne, ce qui bloque l'installation.

0 votes

C'est bizarre, car je pense que les paquets sont hébergés sur github.

2voto

glitchphan Points 21

Maintenant il y a un terminal appelé Termux dans lequel vous pouvez installer apt openssh. Disponible sur Google Play Store , F-Droid y Github .

0 votes

Veuillez lier l'application à Google play

-1voto

Daniel F. Hanson Points 3028

EtFTP 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 qu'il soit facile de l'utiliser par script. J'utilise moi-même l'application tout le temps pour mon serveur d'hébergement et cela fonctionne très bien.

Je ne sais pas si vous pouvez utiliser SSH avec l'émulateur de terminal, mais vous pouvez aussi essayer. J'utilise fréquemment cette application pour faire des choses que je suis trop paresseux pour faire avec ADB.

0 votes

EtFTP est excellent. L'émulateur de terminal est-il scriptable ?

0 votes

Je ne pense pas, pas sans une autre application. Comme vous le mentionnez ci-dessus, Tasker est probablement la meilleure solution.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X