En primer lugar, como nota al margen para otros lectores: No estamos hablando de "una aplicación" aquí (esas ya se han probado y no funcionaron en esa arquitectura), sino de un binario de línea de comandos. DropBear a veces forma parte de Busybox o viene como binario separado .
Ahora, la parte de la instalación. Los binarios que instalas tú mismo es mejor que vayas a /system/xbin
que se encuentra en el $PATH
pero por lo general "inicialmente vacío" (las cosas propias de Android están en /system/bin
y /system/sbin
), por lo que corremos un riesgo muy bajo de "colisiones". Así que, o bien adb shell
o terminal a tu dispositivo y asegúrate de que eres Root. Asumo además que ya has transferido el dropbear
/ busybox
binario a su tarjeta SD.
mount -o remount,rw /system # make sure we can write to system
cp /sdcard/busybox /system/xbin # copy the binaries to /system/xbin
cp /sdcard/dropbear /system/xbin
cd /system/xbin # switch to our target directory
chmod 755 busybox dropbear # make sure we've set the correct permissions
busybox --install /system/xbin # advice busybox to create all its symlinks here
Parte de la instalación hecha (omita la dropbear
partes aquí si su dropbear
viene con busybox
- y viceversa, omita el busybox
parte si no es necesario.
Ahora, tenemos que hacer dropbear
volar. Nunca he probado esto, así que me remito a un script externo en Github por eso. En resumen (y en caso de que ese enlace muera), de nuevo asumiendo que los archivos necesarios ya están copiados en tu tarjeta SD:
\# Creating a home-dir for DropBear
mkdir /data/dropbear
chmod 755 /data/dropbear
mkdir /data/dropbear/.ssh
chmod 700 /data/dropbear/.ssh
# Copy over our files
mv /sdcard/authorized\_keys /data/dropbear/.ssh/
chown root: /data/dropbear/.ssh/authorized\_keys
chmod 600 /data/dropbear/.ssh/authorized\_keys
# Generate a hostkey, so we can use DropBear
dropbearkey -t rsa -f /data/dropbear/dropbear\_rsa\_host\_key
dropbearkey -t dss -f /data/dropbear/dropbear\_dss\_host\_key
Una parte adicional si quieres DropBear para que se inicie automáticamente en el arranque:
cat << EOF >> /etc/init.local.rc
# start Dropbear (ssh server) service on boot
service sshd /system/xbin/dropbear -s
user root
group root
oneshot
EOF
Tenga en cuenta que esto supone que su dispositivo es compatible con init.d
guiones. Primero compruebe la disponibilidad de ese archivo para asegurarse.
Por último, no olvides hacer /system
de nuevo de sólo lectura. O bien reinicie en este punto (para que también pueda comprobar que DropBear comienza como se pretende), o al menos ejecutar
mount -o remount,ro /system
por ahora, posponiendo el reinicio. Para iniciar el servicio manualmente, debería ser posible ejecutar ese bloque a través de algún shell script (por lo que podría, por ejemplo, tener un tasker tarea para iniciar y otra para detener el demonio, e incluso hacer accesos directos a esas tareas en su pantalla de inicio para el control manual). De nuevo, no he probado esta parte, así que es "pura teoría".
¡Buena suerte con DropBear y BusyBox!
1 votos
Nota para los posibles votantes de la zona: OP no está pidiendo una aplicación, sino que quiere ayuda para la instalación. Sopalajo viene aquí por mi sugerencia, la parte de "hay una aplicación para X" ya fue/es tratada en SR. El PO sabe dónde encontrarla - la pregunta que se hace aquí es cómo hacerla volar.
1 votos
Espero que todo esté bien ahora, @Izzy. El enlace está añadido, no tengo fuentes fiables para el código de Dropbear, y todo lo que he probado son aplicaciones, no métodos de línea de comandos.
0 votos
El enlace está ahí (a SR), donde he dejado un enlace a la Página de descarga de los binarios de busybox.net (por lo que no es necesario que se juegue con un instalador adicionalmente). Haciendo eso manualmente, tendrías que crear todos esos enlaces simbólicos al binario principal (al menos los que quieras). Lo que está disponible te lo dice al llamarlo sin ningún parámetro. Deberías colocar el binario en
/system/xbin
y crear los enlaces simbólicos en el mismo lugar. Solo no puedo decirte más para la parte de "cómo hacer funcionar sshd".0 votos
@Izzy, ¿esas versiones de BusyBox incluyen los binarios de Dropbear?
0 votos
No lo sé, no los he probado todos. La versión x86_64 no tiene (oops: ninguno tiene , lo siento). ¿Cuál es su arquitectura? ¿x86_64, mips64, ? Una indicación más: Algunos binarios útiles de 64 bits (aarch64): busybox, dropbear (XDA)
0 votos
@Izzy: Yo presento un
amd64-v8a
. La versión de Android es demasiado de 64 bits, o eso creo. No creo queaarch64
Los binarios podrían funcionar, pero no tengo mucha experiencia en Android. Estaba pensando que había algún tipo de compatibilidad con las CPUs modernas; una especie de WoW (Windows en Windows) para ejecutar programas de 32 bits en sistemas Windows de 64 bits.1 votos
Lo malo, @Izzy, es: quizá a día de hoy (septiembre de 2015) los nuevos núcleos de 64 bits son demasiado recientes y tendrán problemas de compatibilidad con apps no demasiado recientes y programas de bajo nivel como
OpenSSH
yDropbear
.0 votos
Estoy de acuerdo con el caso de los "madrugadores". Sin embargo, esto no hace que tu pregunta no tenga respuesta: Como se indica, podría guiarte en la parte de la instalación (ya sea
busybox
o undropbox
binario que creo que es el caso de ese post de XDA), que es bastante fácil - pero nunca he utilizado ese tipo de (línea de comandos) SSHD en Android, así que no puedo guiarte con eso; alguien más sin duda puede (alguien debe haber hecho esto ya). Esto no es dependiente del arco, así que tan pronto como los binarios están disponibles (SR-parte de su Q), usted está listo para ir entonces.