¿Hay algún cliente de línea de comando SSH disponibles para teléfonos Android enraados? -- ssh campo con command-line camp android Relacionados El problema

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


24
vote

problema

Español

Por supuesto, tengo connectBot, pero estoy buscando algo que pueda script.

Editar: Para aclarar aquí, no estoy interesado en corriendo scripts de un terminal. Lo que quiero hacer es ejecutar un comando ssh de una manera automatizada / programada. Tasker and Locale Ejecutar son el equivalente de Cron, todo lo que necesito es el comando 'ssh' para ejecutar de el script.

Original en ingles

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.

     
 
 

Lista de respuestas

12
 
vote
vote
La mejor respuesta
 

Puede instalar el Emulador de terminal de Google. Alternativamente, hay la mejor emulador de terminal pro . Probé el emulador terminal en un teléfono no arraigado y pareció funcionar bien.

Mejor terminal Emulator Pro incluye la Client Dropbear SSH , que se puede iniciar desde el línea de comandos o a través de un lanzador. Más información de los autores .

 

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

Dado que mi pregunta original fue sobre un binario SSH, y hay una respuesta para eso, aceptaré esa respuesta. Sin embargo, hay otra forma de hacer lo que quería hacer, un poco, eso podría ser interesante para alguien algún día.

Tasker + ConnectBot se puede usar para ejecutar el control remoto arbitrario (o local, supongo, pero el ejecución del local es mejor para eso) los comandos en un horario.

Paso 1: Configure su conexión en ConnectBot.

  • Puede tener conexiones duplicadas en ConnectBot, siempre y cuando tengan diferentes alias. Tienes que cambiar el nombre de uno primero (lejos del servidor @ host) para crear el segundo. Larga presione y seleccione "Editar host" para realizar estos cambios.
  • Probablemente desee configurar una clave SSH sin una contraseña para que pueda usar esto para la automatización.
  • Una vez que la conexión realmente funciona, puede usar "Automatización posterior a la sesión" para agregar los comandos remotos que desea ejecutar. Asegúrese de que haya una línea en blanco al final para que se envíe la entrada después de su último comando. Usar ingrese o; para separar los comandos. Sugiero usar algo como "echo hola" como una prueba hasta que esté seguro de que las cosas funcionan y "Salir" al final si no desea dejar la conexión.
  • prueba esto en aislamiento.

Paso 2: Cree una tarea de Tasker para llamar a ConnectBot.

  • Crea una nueva tarea en el tasker.
  • Agregar una acción. De MISC, seleccione "Intención de acción"
  • Los campos son:
    • Acción: Android.Intent.Action.view
    • gato: por defecto
    • DATOS: URL SSH, en forma de "ssh: // usuario @ host / # alias" (sin las cotizaciones). El alias, el usuario y el host aquí deben coincidir con el alias que configuró en el Paso 1.
    • objetivo: actividad
    • Haga clic en la prueba. ConnectBot debe abrir y sus comandos deben ejecutarse en el host remoto.

Paso 3: Use esta tarea en Tasker, sin embargo, normalmente lo haría.

 

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

Sé que es un hilo viejo, pero quería +1 el comentario sobre BTEP

También estoy usando el binario SSH de BTEP, aunque solo lo llamo de su camino en lugar de vincularlo. /data/data/com.magicandroidapps.bettertermpro/bin/ssh root@192.168.1.1

o genera un par de claves y use la autenticación de clave pública /data/data/com.magicandroidapps.bettertermpro/bin/ssh -i /data/data/com.magicandroidapps.bettertermpro/home/.ssh/id_rsa -l Root 192.168.1.1

Utilizo el comando anterior de SL4A R4 en varios scripts y funciona bien :)

Antes de poder hacer esto, necesitaba a Chmod A + x /data/data/com.magicandroidapps.bettertermpro/home/.ssh

Una vez que se realiza esto y su copia de seguridad / restaura BTEP con TitaniumBackup, los permisos se mantienen esto significa que flash una nueva ROM, solo puede restaurar las aplicaciones y todos sus scripts funcionarán nuevamente

 

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

He usado con éxito Botbrew Basil Experimental < / a> cuando se ejecuta Android 4.4. Botbrew Basil Experimental se basa en APT: obtenga, así que después de instalar APK y BootStraping, acabo de apt-get install dropbear en un shell raíz para instalar el cliente SSH (y el servidor).

 

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

Instalar emulador de terminal y Quickssh. Quickssh también incluye dropbear. No le cuesta dinero, lo que no debe porque esto sea más simple simple y se basa en Dropbear.

https://play.google.com/ Tienda / Aplicaciones / Detalles? id = berserker.android.apps.sshdroid

ABCDEFGHIJKLMNABCDEFGHIJKLMN1 USUARIO @ HOST

Resuelto de problemas

 

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

El emulador de terminal apoya absolutamente los scripts *. No creas los nay-dayers. Tendrá que aprender scripts de Shell Bash, si aún no está familiarizado con él. Escriba un script y guárdelo en su tarjeta SD. Ejecútelo con "SH FILENAME" desde el término.

Si aclara qué es lo que desea "Script" tener que ver con SSH, es probable que pueda darle una mejor recomendación.

* (En realidad, es el sistema operativo Android que admite los scripts de bash, el emulador de terminal solo se le otorga el acceso a la cubierta de Android, por lo tanto, la secuencia de comandos es inherentemente posible)

 

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

Para llamar a SSH de un script, todo lo que necesita hacer es configurar las teclas SSH. Hay un millón de tos en la web, pero hay una página en la Wiki de Cyanogen que podría ser más adecuada para los usuarios de Android. Una vez que configure las teclas, su comando general SSH se vería algo así: ssh -i / ruta / to / key users @ ip

Puede ponerlo en un script, ejecútelo, y se iniciará sesión en la máquina remota.

Pero esto es lo que creo que quieres hacer. Para ejecutar solo un comando en una computadora remota, simplemente agreguelo en comillas simples: ssh -i / ruta / to / key User @ IP 'Command'

que ejecuta el comando en la máquina remota sin iniciar sesión. Puede ejecutar comandos con opciones, tuberías, redirecciones, etc., pero a veces es mejor mantenerlos simples. A excepción de la demora, se ve igual que ejecutar el comando (s) localmente (s) y puede usarse el mismo.

El ejecución de la localidad puede ser exigente de qué comandos se ejecutará. Si no funciona, intente colocarlo en un script y usar la ejecución local para ejecutar el script.

También, he tenido problemas con el binario SSH que está en el teléfono y encontré que moverlo desde / System / Xbin y crear un enlace en / system / xbin / ssh al mejor emulador de terminal ssh binario es más confiable. El BTEP BINARY está en /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

botbrew es un administrador de paquetes para Android, en los gustos de okpg Para BSD o más recientemente, como APT para Debian. Bastante agradable. No tiene un cliente SSH como un paquete, pero no se ve demasiado difícil de poner si está acostumbrado a construir sus propios paquetes. Y podría ser útil como un pan de herramientas para cuando quiera construir otros binarios y bibliotecas de C / C ++ / etc.

Por lo que aunque esto no es una respuesta directa, puede ser útil para algunas personas que sepa.

 

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

Ahora hay un terminal llamado Termux que puede instalar OpenSSH en. Disponible en Google Play Store , f-droid , y 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 puede conectarse a través de cualquier puerto que configure, por lo que estoy seguro de que podría conectarse sobre SSH. Pero no estoy seguro de lo fácil que es para el uso de la guión. Yo uso la aplicación yo mismo todo el tiempo para mi servidor de alojamiento y funciona muy bien.

No estoy seguro de si puede SSH con el emulador de terminal, pero también podría intentarlo. Yo uso esa aplicación con frecuencia para hacer cosas que soy demasiado perezoso para hacer con 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

Usa un complemento SSH para Tasker? No necesite root o ssh binario entonces.

 

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

 
 
   
   
-3
 
vote

Si el cliente SSH simple es interesante para usted, realicé bajo la biblioteca biónica de Android-NDK, DROBPEAR-SSH-SLIENT-SOLO. ftp://ftp.simtreas.ru/pub/my/dropbear /dropbear-ssh-only.tgz Sourse y ftp://ftp.simtreas.ru/pub/my/dropbear/ssh binario

 

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

 
 
 
 

Relacionados problema

2  Sshfs de Android a NAS  ( Sshfs from android to nas ) 
Estoy tratando de obtener cualquier carpeta en el almacenamiento interno de un HTC M7 que se montará a través de ABCDEFGHIJKLMNABCDEFGHIJKLMN0 a una carpeta...

6  Teclado Android y remapsing la tecla CTRL  ( Android keyboard and remapping the ctrl key ) 
Tengo un Samsung Galaxy 10.1 en ejecución de la versión 4.1.2. Estoy usando SSH para conectarse de forma remota a mi máquina principal que ejecuta Ubuntu 12.0...

0  SSH a Ubuntu Desktop  ( Ssh to ubuntu desktop ) 
He configurado un servidor SSH en My Ubuntu Desktop en casa utilizando un servicio DNS dinámico (NOIP). Tengo una tableta de Wi-Fi, solo Android que ejecuta l...

1  Puerto hacia adelante sobre la conexión SSH segura con llave  ( Forward port over key secured ssh connection ) 
ejecuto un servicio web personal en mi escritorio. En mi computadora portátil uso ssh -L para abrir una conexión a ella, así: ssh -L <port>:<remote host>...

45  ¿Hay algún servidor SSH para Android?  ( Is there some ssh server for android ) 
Bloqueado . Esta pregunta y sus respuestas son bloqueadas porque la pregunta es off-topic pero tiene importancia histórica. Actualmente no está a...

6  ¿Cuál es la forma más cómoda de SSH y VIM / LATEX / C ++ en Android?  ( What is the most comfortable way to ssh and vim latex c on android ) 
Estoy debatiendo si debería obtener droid x. Me gustaría usarlo para trabajar, que significa látex y código en C ++. Yo uso vim. Sé que esto es posible con ...

16  ¿Es posible usar un dispositivo Android como servidor X11 para una máquina remota sobre SSH?  ( Is it possible to use an android device as x11 server for a remote machine over ) 
Cuando esté en mi computadora de escritorio, puedo conectarlo con mi cuaderno, incluso a través de Internet (he configurado mi enrutador para reenviar a la co...

6  Ejecutar la aplicación de Android de la computadora remota  ( Run android application from remote computer ) 
He hecho esta pregunta en StackOverflow, pero pensé que debería preguntarse aquí ... Necesito ejecutar mi aplicación Android desde la computadora remota (en...

5  Ejecutar una tarea de Tasker a través de SSHDROID (o ADB Shell)  ( Running a tasker task via sshdroid or adb shell ) 
Estoy tratando de ejecutar una tarea de Tasker manualmente de ADB Shell, a través de Sshdoid. estoy Ejecutando lo siguiente en PUTTY (Windows SSH Client): ...

26  Conectarse automáticamente a los nodos Wi-Fi, pero enruta todo a través del cifrado  ( Automatically connect to wi fi nodes but route everything through encryption ) 
Relacionado con Mi pregunta sobre VPNS , ¿hay alguna manera de obtener mi teléfono para conectarse automáticamente a los puntos de acceso no cifrados, ¿Pero ...

4  No se puede agregar host a "conocido_hosts" en Android  ( Cannot add host to known hosts in android ) 
Estoy conectando desde mi teléfono Android a mi NAS, usando SSH. La clave privada se generó en mi PC y luego se colocó en la carpeta de la tarjeta SD del telé...

1  ¿Hay algún soporte de SSH OS en Android?  ( Is there any ssh os support in android ) 
Estoy leyendo el artículo Jolla y SSH Push Sailfish Secure como "alternativa europea" OS móvil . He utilizado aplicaciones de terceros para SSH en mi teléfon...

1  ¿Cómo arreglo PWD (Directorio de trabajo de impresión) en CyanogenMod 7?  ( How do i fix pwd print working directory on cyanogenmod 7 ) 
Quiero usar WINSCP para transferir datos a mi teléfono a través de la conexión inalámbrica. He habilitado Dropbear en mi teléfono. WINSCP se conecta, pero se ...

5  CM7: ¿Cómo habilitar el inicio de sesión SSH sin contraseña en la misma red?  ( Cm7 how to enable passwordless ssh login on same network ) 
Estoy ejecutando CyanogenMod 7 y me gustaría habilitar el inicio de sesión de SSH sin contraseña en mi computadora principal de Linux en mi red, pero solo cua...

1  Internet de SSH a través de Conectar Bot  ( Ssh internet through connect bot ) 
¿Es posible reenviar todo el tráfico desde la aplicación de Internet a través del puerto reenviado BOT? ...




© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos